1樓:夕心木
printf("%d",--y); 是y現自減自在輸bai
出yy=9 條件成立, y自減 輸出8
再執du行for裡的zhiy-- y變為7再次dao判斷 if條件不成立
再執行for裡的y-- y變為6
再次判斷 if條件成立 y子減 輸出5再執行for裡的y-- y變為4
再次判斷 if條件不成立
再執行for裡的y-- y變為3
再次判斷 if條件成立 y子減 輸出2再執行for裡的y-- y變為1
跳出迴圈
2樓:蓉雪球
9>0 9%3==0
8(成立則輸
bai出du)zhi
dao8>0 8%3!=0
7>0 7%3!=0
6>0 6%3==0
5(成立則輸出)
5>0 5%3!=0
4>0 4%3!=0
3>0 3%3==0
2(成立則輸出)
2>0 2%3!=0
1>0 1%3!=0
0跳出專
由於不換行屬,就輸出852
3樓:追雨的流星
在for迴圈裡,終止條件是y=0, 迴圈條件是y--則進入迴圈體時,y分別等於9, 8 ,7, 6, 5, 4, 3, 2, 1
此時看內if語句容,y%3==0;即y正好被3整除 則y分別等於9 , 6, 3
此時輸出--y;
先運算再輸出,則輸出結果為8 5 2;
4樓:抽空記憶
給y賦值9,進入baifor迴圈,這個迴圈的範圍為du
zhifor(...)if()print("%d",--y);如果迴圈語句多餘1句可以加{dao};第一專
次,y=9,y%3==0(這裡是對y求餘讓後判斷屬y是否為0),輸出--y,也就是8(這裡說下y--和--y)的區別,就像這裡面,在for中y--也就是先取y的值9,然後y減去1得到8,但這後面的y還是9;在printf中的--y為先減去1,再取y的值,前面說過y還是9,所以減去1後再取值為8,輸出就是8;進入的二次for,由於y--,後面的y還是8,而8%3!=0,所以不輸出;第三次同樣不輸出;以此可以得出結果
5樓:第101套婚紗
y=9時,滿足條件,輸出--y ,--y就等於8,這時y=8,第二層迴圈滿足時是y=6,輸出--y 就是5
6樓:風中帆動
8,5,2,因為輸出後先施行減減
c語言運算子與表示式問題
7樓:匿名使用者
++x 是
在本句中先將來x的值+1,然後
使用自+1後的值
y++ 是先使用原值,然後在以後使用+1的值這樣在printf語句中 ++x即 4, y++為3但是(++x,y++)是一個表示式,只能有一個值,這個值是3,因為取的是逗號運算子後的值作為整個表示式的值(逗號運算子的性質如此)
而z+2則作為臨時變數值顯然是3
所以出來了3,3
8樓:
很簡單 z+2 很顯然是3 ++x 輸出的話應該是4 先+後引用
y++先引用後+1 當然是3
(++x,y++)這個是一個表示式 (x,z,s,d,e)表示式值是最後一個e
c語言運算子和表示式
9樓:一顆程式猿
#include
int main()
關於c語言邏輯運算子一道簡單的題目!
10樓:夏碧夢
這是邏輯運算子的短路判斷造成的!
由於邏輯運算子||和&&實現判斷左值的,顯然如果根據左值就能夠判斷整個表示式真假的話,那剩下的就不用判斷了!目前的c編譯就是這樣處理的!
對於邏輯或||,左值為真,整個表示式就為真;
對於邏輯與&&,左值為假,整個表示式就為假!
++x||++y&&++z中先執行邏輯或||左邊的++x後x=1,左值為真,後面的自然就不用處理了!
11樓:匿名使用者
這個是c語言的優化造成的。
按照c語言對邏輯或運算優化計算的規定,當邏輯或的左運算分量滿足時,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結果。由於邏輯或的右運算分量不曾計算過,所以變數y,z的值也不為變化。
12樓:伊·梵
就是這樣算的
邏輯運算子從左至右還確保其運算元的計算。 但是,它們計算必要的運算元的最小數目確定表示式的結果。 這稱為 「短路計算」。
c語言賦值運算子,C語言賦值運算子
a a a a 分步 1 a a a a a 9 a 9 a a 9,a 6 2 a 6 a 6 6 a 12a a a a 1 a a a 9 2 a 9 a 9 9 a 0 3 a 0 a 0 在c語言中11種賦值運算子的具體含義,用法?1.六個變數 表示式的賦值 是賦值運算子,是除後賦值,是乘...
c語言關於表示式求值,C語言關於表示式求值
c語言有豐富的表示式,這是它的特點之一,表示式主要有4類,算術表示式,賦值表示式,逗號表示式,關係表示式 1.算術表示式就是包含算術運算子 如 等 的表示式 不是語句,後面沒有分號 如 a b a b,a b c d,3 5等,算術表示式的值就是最後算出的結果,如3 5這個表示式的值就是8 2.賦值...
c語言運算子 和各有什麼功能,C語言運算子 和 各有什麼功能?
表示按位或,規則是一個為1或二個都為1,結果為1,表示按位異或,規則是相同為0,相異為1。首先把兩個運算元化成二進位制,然後按位進位制操作 5 35的二進位制00000101 3的二進位制00000011 00000111 化為十進位制是7 5 35的二進位制00000101 3的二進位制00000...