c語言中語句“y x1”是怎麼執行的

時間 2021-08-11 17:19:52

1樓:埃德蒙

++放後邊 x先參與“-”運算 計算結果賦給y 之後x值自增1。

如果x=3,“y=x++ -1”之後y=2 x=4就是要記住一個規則:

++在變數之前時 值先自增1 再參與其他運算,++在變數之後 先參與其他運算 變數值再自增1

2樓:關燁韋

先執行x-1,然後再賦值給y,然後再x++。

如果換成y = ++x - 1;就會先自增,再運算。

3樓:匿名使用者

y=x++-1的彙編**如下:

mov eax,dword ptr [ebp-4]sub eax,1

mov dword ptr [ebp-8],eaxmov ecx,dword ptr [ebp-4]add ecx,1

mov dword ptr [ebp-4],ecx不知道你能否看的懂。簡單的說,dword ptr [ebp-4]表示的是x的地址,dword ptr [ebp-8]表示y的地址。mov是移動的意思,也就是說把x的值移動到eax中,然後減一,再把它賦值給y;……好好學習彙編吧,這些問題完全可以自己看**解決!!!

4樓:

先x自加 然後用x原來的值-1賦給y

比如先開始x=5

執行完 x=6 y=4

5樓:我愛吃油旋

“y=x++-1”應該等同於

“y=x-1;

x=x+1;”

即y的值是x-1後的賦值,然後x再自加1.

6樓:du小蝦

x=4;

y=x++-1;//執行完後,y是3,x是5,注意x++先運算後加一

c語言中 y=x++ -1和 y=++x -1有什麼區別?

7樓:匿名使用者

**執行先後順序的區別

++代表+=1,在變數前面例如++x-1代表著直接在這裡將變數值加上1,故y=6-1=5

而在變數後面,x++-1代表著在執行完這一行再予以加1,故y=5-1=4

#include

int main()

8樓:匿名使用者

你可以觀察啊

x++是先引用x,再++

++x 則是 先做++再引用x

9樓:匿名使用者

加在後面慢動作 比如x=3,前面y=4,後面是5,運算先後問題

y=++x-1c語言中是什麼意思

10樓:匿名使用者

y = (++x) -1

x = x + 1

y = x - 1

11樓:焚城沸雪

y=(++x)-(1c) //1c是16進位制數

c語言中x=1;y=x++是什麼意思

12樓:傳小奇

int x=1;

y=x++; 表示先把 x的值賦給y,然後x自身加一。

最後的結果是 y=x=1;

x=x+1=2;

13樓:

想弄清答案,來

必須得先知道x++, ++x, x--, --x的區別源x++和x--意思是bai

先使用,使用以後在du+1

比如題主提問的。x=1; y=x++

分三個步驟zhi:

x初始化為dao1

給y賦值為1

x++, x+1

++x和--x是運算x+1,x-1, 後參與運算例如x=1;y=++x

分三個步驟:

x初始化為1

x++, x+1

給y賦值為2

14樓:修者世界

x=1;

y=x++;//意思是y=x+1;

15樓:匿名使用者

x = 1

y = 1

x +1

c語言while(x++!=(y-=1))是什麼意思

16樓:匿名使用者

不等於號左邊取x的值,右邊取y=y-1的值,在進行邏輯判斷不等於操作獲得布林值,這個布林值是判斷迴圈繼續與否的關鍵,之後x值加1

17樓:尤慕

把y的值減1與x比較,如果兩者不等,則進入迴圈體並把x的值自增1.

18樓:oo信步天涯

判斷y=y-1的值是否等於x,如果不等於則執行迴圈體,如果等於則退出迴圈,判斷之後,不管是否等於,專都讓

屬x自加1(即x=x+1)。舉個例子說明下吧,假如執行while語句前x的值為3,y的值為6:執行到while時,由於是x++,自加運算子++在x的後面,所以先取x的值3,即不等號!

=左面的值為3,不等號右面的值為6-1=5,3不等於4,所以表示式x++!=(y-=1)的值為真,判斷之後x的值自加1變為4,同時執行迴圈體;迴圈體執行完之後,再次判斷,此時不等號左面的值為4,右面的為y=5-1=4,此時x++!=(y-=1)的值為假,判斷之後x=4+1=5並退出迴圈。

希望能對你有點幫助!

19樓:匿名使用者

首先了解下優先順序與結合性

1.--為自減運算子,第二優先順序,自右至左2.x--這個表示式內:先使用x的值

容,接著x=x-1;

整個表示式的值為x

看while(x--)

首先①判斷x--這個表示式的值是否為0(即x的值),如果為0,不執行迴圈體

但仍然執行x=x-1;

例如:int x=0; 則不執行迴圈體,x最終值為-1②如果x的初值不為0,判斷x--這個表示式的值是否為0,(不論是否為0)x=x-1,

如果x--表示式的值不為0,在執行迴圈體.(真繞...看例子)例如:int x=3;

while(x--)

printf("%d\n",x);

①3-->不為0-->x=x-1-->x=2執行迴圈體 while

②2-->不為0-->x=x-1-->x=1同上③1-->不為0-->x=x-1-->x=0同上④注意 此時x=0,將不再執行迴圈體,但x=x-1;-->x=-1

(建議你逐步除錯,很清晰)

20樓:匿名使用者

y=y-1;

while(x != y)x++

c語言中 y=((x=3*y,x+1),x-1)是什麼意思

21樓:寂寞的哥布林

這是bai考試題?

考逗號表達du式嗎?

你這個問題本身zhi

就有問題,你dao的y沒有初值。內我只能假設容y=1分析給你看

首先計算x=3*y,結果賦給x,假設是3;

然後計算x+1,用上面的結果就是3+1了,就是4.

逗號表示式取最右邊表示式的結果賦值。那麼

(x=3*y,x+1)

這個表示式的結果就是4.

在計算y=(4,x-1),你應該就明白了。x剛才是賦值過為3了,那麼x-1=2;同理,

y=((x=3*y,x+1),x-1)

實際賦值為y=2,同時x有第一個表示式賦值為3.

22樓:夜禮服假面

y=((x=3*y,x+1),x-1)可以拆成多個語句,這樣你就理解了

拆分為x=3*y;

y = x +1;

y = x - 1;

c語言中a=(--x==y++)?--x:++y;什麼意思

23樓:漠影歌

這是一個三目運算子,如果 --x 與 y++相等的話,把--x的值賦給a,否則,將++y的值賦給a;

在這裡,--x是先對x進行自減1再執行語句,y是再執行完語句再執行y自加1,也就是說現在解析出來的表示式為 x - 1 == y ,後面同理!

24樓:鱷魚與德德

中文版 就是 判斷 --x 是否等於y (y++是算完後加 忽律) 假如等於 就 a=--x, 假如不等於 a=++y

25樓:麼麼噠

x=x-1;

if(x==y)

else

大概和這個差不多

26樓:匿名使用者

--x就是x減一;++y就是y加1,這個主要考察c語言語句優先順序

27樓:匿名使用者

如果 x=y+1 執行 x-1 否則 y+1

28樓:歧凌蝶肇戈

x=a+b表示式使得x=6,其返回值為x(x,b+c)是逗號表示式,逗號表示式的值為最後一個子表示式的值所以

y=b+c

y=10

29樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

30樓:匿名使用者

這個是一個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

31樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

c語言問題 有一個分段函式y=x-1(x<0),0(x=0),x+1(x>0). 怎麼程式設計?

32樓:吾玉蓉苑燕

switch語句對應離散引數,對此例並不適用,除非你的x限定為了整型,建議用if

else

ifelse控制。像那個樓上的,基本上錯誤一大堆······#include

intmain(void)

else

if(x==0)

else

if(x>0&&x<10)

else}

33樓:煉獄丿魔

y=x-1(x<0),0(x=0),x+1(x>0)

main()

請問,c語言中return語句後,還執行後面的語句不

不執行,直接返回到呼叫子函式的位置,並返回返回值 不執行,已經返回主函式了。在c語言中,乙個函式的結束都是以return為出口的。在乙個函式中無論在 執行到return則結束該函式!對於有返回值的函式return乙個該函式返回值型別的數,對於無返回值void型別的函式,則遇到可能會碰到return ...

c語言中賦值語句的語法是怎樣的,C語言中賦值語句的語法是怎樣的

小夏在深圳 賦值的語法規則就是 資料型別 變數名 表示式 表示式可以理解為一個值或一個計算公式就行,表示式加一個英文符號分號就是語句。例如 我們今天要用到的,我買了幾斤蘋果。就可以這樣寫 方式一 方式二 擴充套件資料1 c語言中,賦值運算的操作是有方向的,即將右側表示式的值 也稱為右值 賦值左側的變...

C語言中 int i 0執行語句while i4 後i的值是5而不是4,為什麼

符玉蓉亥月 這道題的關鍵是i 與 i的區別,i 是先以i的值作為整個表示式的值,即i 4,然後i自加1 i則是先以i 1作為該表示式的值,i也就是i 1的值。具體點,該題可以這樣分析 ii while i 4 00 ture11 ture22 ture33 ture44 false 5所以你此時輸出...