1樓:
int a,b,c,d,i,j,k;
a=6;//我們把 a=10 改為 a=6, 簡化計算b=c=d=5;
i=j=k=0;
for (;a>b;++b)
i++;
這個簡單,b-a=1 所以 i 自加一次 i=1,b在 a》b 執行之後馬上自加。
while (a>c++)
j++;
這個原理同上 a-b =1 所以 j自加一次。 但是你的答案是錯誤的,我已經驗算過。
do k++;
}while(a>d++);
這個答案是2
之所以會比 j 大一, 原因就是do-while要比 while 語句 多執行一次。 所以k 的自加次數要多1次。
我把a改為了6. 現在改回10.
2樓:
因為a=10,for迴圈要進行,1次i++ i=1 b=62次i=2 b=7 3.i=3 b=8 4.i=4 b=9 5.
i=5 b=10 此時10不大於10結束for i=5
while同for只不過是計算出c的值才對j++,計算了c=5,6,7,8,9,5次j=5
do while先進行k++,再判斷當d=10時判斷失敗此時執行了d=5,6,7,8,9,10,6次k++ k=6
3樓:
樓主j的結果應當等於5吧?有初始值知a=10,b=5,c=5,d=5,i=0,j=0,k=0依次執行for語句便可得i=5。執行while語句得j=5。
而後面的do...while語句則需要先執行一次k++語句,也就是在判斷最後一次while(a>d++)不滿足時,k++已經執行了一次,所以會有最後結果為6。
c語言求助!
4樓:偶愛蘭博基尼
#include
int main()
5樓:
#include
int main()
6樓:驚呆小夥伴噻
void main()
c語言求助!!
7樓:匿名使用者
在一個語句裡同時使用值本身和自增運算,不同的編譯器,結果可能不同,這是未定義行為,也就是說各家編譯器有自己的實現方式
用gcc 是11 10 11,clang是10 10 11
但你要知道c語言裡printf 如果右邊有多個表示式,是從右往左算的
求助c語言「求5!」要**~~
8樓:匿名使用者
#include
#define n 5
int main()
printf("%d\n",a);
return 0;
}我寫了一個給你,演算法簡單,結果正確,樓主也可自己隨意更改。
僅供參考!
9樓:匿名使用者
我用 遞迴演算法給你寫一個好了,這樣以後遇到 n!的題目可以拓展一下#include
int fac(int i);
int main()
int fac(int i)
10樓:江流的光頭
#include
int main()
以上**通過gcc編譯通過。
11樓:匿名使用者
#include
int main()
c語言求助!!
12樓:塵雨洛煙
#include
int main()
else
{if(0
c語言求助!!!!
13樓:木生子識時務
fstring.c這個檔案裡面的函式寫的有問題,我稍微改了一下,懶得寫註釋了,你先看看寫的對不對,有問題的話再追問吧。
#include
void strreverse(char s)}void delchar(char s,char q)s[k]='\0';}
c語言!!求助,C語言求助!!!
沒什麼問題,兩題給出的答案都是正確的。第2題 後面按c語言要求帶上規定的字元或數字,構成轉義字元,因此要想將 賦給字元變數ch,需要定義為 ch 而不是ch 選項a是錯誤的。其餘選項都是正確的。選a第9題 011表示八進位制數,轉為十進位制數是9,執行printf語句,a,是a先自增1 9 1 10...
c語言求助,C語言 求助
你改這個試試 include void main c語言中,不可以用 號代替字元.printf這個是輸出,不是輸入 c語言求助?在c的運算子中,關係運算子 的優先順序,高於關係運算子 而賦值運算子的優先順序就更低。所以,printf d,d n a b c,d ab c,d ab為真,則 a b 的...
C語言作業求助大神,c語言作業求助,求大神。
include include define n 5 define l 5 void main for i 0 i0 for i 0 i c語言作業求助,求大神。 hwllo泠泉石上 include int main printf 請輸入要顯示列的列號 scanf d lie printf n n該...