C語言下面程式的執行結果是

2021-03-09 15:48:51 字數 1256 閱讀 6947

1樓:翔子菊子

x的值是每次來在執行迴圈體源第乙個語句進行賦值的。bai每個if語句都是du先加加,然zhi後再模2,模3,模7。全部條件滿足dao後,才會輸出x。

計算的並非是x的原始值,而是計算的三次加加後的x的值。

比如輸出28的時候,i的值是25,那麼此時x的值也是25。

首先進行第乙個判斷,因為是前加加,所以對x先加加,變成26,然後模2結果為0,條件成立,繼續第二個if判斷,同理先加加,變為27,模3結果為0,條件成立,繼續第三個判斷,同理,先加加,變為28,模7結果為0,條件成立,執行printf,把結果列印出來,結果就是28了。

2樓:藍佼佼

最後輸出的是3次++x後的x的值。

先執行for迴圈:

i=1賦值給x,x=1。執行if語句:

第一專個if:++x後x=2,符合(++x%2==0),執屬行第二個if

第二個if:++x後x=3,符合(++x%3==0),執行第三個if第三個if:++x後x=4,不符合(++x%7==0),退出迴圈體,返回for迴圈。i++,i=2.

然後開始第二次執行迴圈體:

i=2賦值給x,x=2。執行if語句:

第乙個if,++x後x=3,不符合(++x%2==0),退出迴圈體,返回for迴圈。i++,i=3.

i=3賦值給x,x=3。執行if語句:

.......... ..............

.後邊迴圈類同,直到執行完i=100時,程式結束。

當i=25和i=67時符合,程式執行完後的x值分別為28和70。

3樓:匿名使用者

沒有印錯 語句的意思是這兩分句是一條語句 都要執行 它的形式相當於加個括回號

x=y=0;

while(x<15)

printf("%d,%d",y,x);

程式是這樣執答行的 第一次判斷x<15 y++ 變成1 後面的語句x+=++y;++優先順序比+高 所以y先自加 變成2 x再加y值變成2 所以第一次迴圈完 x=2 y=2 執行完返回while判斷x是否小於15 小於則執行 如果不成立則返回x,y的值

同理一樣 我主要把每次迴圈的結果給你 按照上面我的說法你自己對對哈第一次 x=2 y=2

第二次 x=6 y=4

第三次 x=12 y=6

第四次 x=20 y=8

最後x不小於15 所以返回x,y的值

you clear???

++y用的是自加後的值 不是原來的值

c語言下面程式段的執行結果是個人算是

答案是4.實際上是求出6 10的所有合數數量。一旦能夠整除,就跳出當層j的迴圈,進入i的下一次迴圈。題目意思是巢狀迴圈,當滿足m除以n沒有餘數時候,執行s 跳出第二層迴圈,回到第一層迴圈繼續遍歷,直至兩層迴圈遍歷結束,輸出結果。過程如下 第一次 6 2 0,執行s s 1,跳出第二層迴圈 第二次 8...

c程式執行結果是

第一次錯誤是死迴圈和除數為0.while i x i y 迴圈裡面i沒有變化.第二次錯誤是除數為0.int i 0,j 1 if x i 0 y j 0 這裡i是0.無法進行 運算.同時你的演算法也有問題 以下 請參考 include void main while a num1 num2 0 利用...

下面程式段的執行結果是int a1,2,3,4,5,6p a int i,sum 0 for i 1 i6 isump

p 是先取值,再將指標 其他應該沒難度吧 下列程式段的執行結果是 int a 1,2,3,4,5,6,7 p a 為什麼是9 for迴圈裡有n s p n 這裡也有n 相當於一次迴圈n n 2,所以,s的值為1 3 5 9 14.下面程式段的執行結果是 int a 3 1,2,3,4,5,6 c 兩...