1樓:匿名使用者
寫錯了,會報錯的
bai。
k=3是把3賦值給duk,不是k等於3。
3如果是k==3,則
zhi無限迴圈,永不執dao行k++。
況且中間那個專
分號屬是空格才對吧。即使是空格,那也是無限迴圈。
寫成這樣比較靠譜:
int k=1;
while(k)
k--;
2樓:丁家宜大寶
k=3等於是賦值運算了,也就是說把3賦給了k,所以k的迴圈初始值是3也就是非0,不斷的執行k++,永遠非0,無限迴圈
3樓:寂寞而莫我知也
無限迴圈,把3賦值與k 構成了非0 一直迴圈下去
4樓:匿名使用者
啊。。。。。樓上正解
c語言,求大神回答 int k=1,n=325; do { k*=n%10;n/=10;}while(n); a. 3 b. 30 c. 523 d. 325
5樓:008列出
k=1*5*2*3=30
do…while迴圈條件是n非0,先執行迴圈再判斷條件
k*=n%10 是先將n對10取餘,再將餘數和k相乘,再賦給k
n/=10 是將n除以10之後的結果賦給n,但注意定義n是int整型的,故n/10的結果只取整數部分
首先,n=325,n%10 =5,執行k*=5,得到k=1*5=5。執行n/10 =32.5,故n=32!=0再迴圈
n=32,n%10 =2,執行k*=2,得到k=5*2=10。執行n/10 =3.2,故n=3!=0再迴圈
n=3,n%10 =3,執行k*=3,得到k=10*3=30。執行n/10 =0.3,故n=0退出迴圈
6樓:看灰過來了
取325的各位數字,將其相乘,也即5*2*3=30
c語言問題,求大神解決,我是小白,最好解釋下原因,謝謝拉
7樓:匿名使用者
因為 while(k=1) 不是while(k==1),while 裡面的 k=1 變成了 賦值語句,而不是實際目的與1去比較是否相等。這些程式 就會執行 k=1,然後再執行 k++;此時k=2;然後又執行 while(k=1),讓k=1;然後又再執行 k++;此時k=2;,又再 while(k=1),讓k=1,又再執行 k++;此時k=2;,如此迴圈,不會停止;此題我猜想是 想考 while語句 的語法 以及 賦值語句 與 比較語句的寫法;while(k=1) 與 while(k==1) 意思完全不同,同時 if(k=1) 與 if(k==1) 意思也完全不同。
8樓:五芷珍
c,while裡面都k重新賦值為1,然後作為判定條件k非零進入迴圈體,k++,之後k=2.再進入while迴圈,k重新被賦值為1.判定條件k為非零,繼續進入迴圈。 無限次迴圈。
9樓:茫茫人海中
while括號內的k=1是賦值語句,意思是將1賦值給k,這個句子永遠成立,所以while語句會永遠執行下去。
10樓:匿名使用者
while 裡面是k=1,是賦值,不是k==1
11樓:匿名使用者
while語句裡面的「k=1」是賦值語句,賦值成功為1.
c語言求s=1!+2!+3!+…+n!(n由輸入決定)。求大神能詳細解讀一下這個程式,尤其是for語句裡面是什麼意思
12樓:我是果瘋
第一二行**:int i,j,n;
long int t=1,sum=0;//定義了三個整數型(短整型)的變數,定義兩個長整整型變數並初始化。
第三行**:printf("input n:",&n);//提示輸入。
第四行**:scanf("%d",&n);利用scanf()函式輸入n。
第五行**:for (i=1;i<=n;i++)//進入for迴圈,外部for迴圈的主要作用是進行階乘的求和。
第六七八行**:t=1;
for(j=1;j<=i;j++)
t=t*j;//引用t這個變數進行對i這個階乘的計算,並將結果儲存在t中。內部的for迴圈的主要作用是計算階乘。
第九行**:sun=sum+t;//計算階乘的和。
第十行代**:printf("n!=%ld",sum);//利用printf()函式對結果進行輸出。
13樓:風林火陰山雷
您好!很高興為您解答。
解釋如下:
#include
void main()
printf("n!=%ld",sum);//輸出計算結果}望採納~如您還有不解,歡迎追問~
14樓:匿名使用者
for裡面是迴圈 i=1是第一次迴圈是i的值,i<=n是i的迴圈範圍,i++是i的值每次加1
15樓:nice丨
剛學c??要看懂 for裡面的最好懂得方法是你代幾個數一步一步試試 然後你應該會明白吧
c語言迴圈題!編寫一個程式,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。
16樓:凌亂心扉
#include
main()
}printf("%d\n",sum);}
17樓:匿名使用者
修改如下
#include
int main(void)
printf("%d\n",s);
return 0;
}圖為原程式在第二層迴圈加了個輸出,查出第二層迴圈有問題。
18樓:匿名使用者
3個錯誤:
1、第9行,item=1應該是item=02、第10行,j<=n應該是j<=i
3、第14行,%d應該是%lf
除此之外:思路很蠢,演算法過於複雜,對於每個累加項,每次都要從1開始加。
#include
void main()
printf("%d\n",s);}
19樓:福建省寧德市
首先,你輸出的格式不對,s是double型的數,你卻寫了%d,應該改為printf(%f\n",s)
其次,你迴圈條件設的不對,裡面的j迴圈條件應該改為for(j=1;j<=i;j++)
還有就是item的值設定為0比較好,這樣比較好計算修改後的**如下
#include
int main(void)
printf("%f\n",s);
return 0;}
20樓:匿名使用者
這種找規律的迴圈體寫一個統一的結構就行
21樓:兄弟連教育北京總校
#include
void main()
printf("%d",s);}
22樓:sin絕望
#include
void main()
else
z=y/x;
}printf("y=%f",z);}
while語句的問題,c語言while迴圈的問題
這是兩種不同的迴圈結構 while 這是一個迴圈結構 這兒迴圈執行 中的內容 do while 這是另一種結構 這兒的迴圈是執行do 後面while之前的 中的內容 加 號是因為 do while 的語法要求要加 單獨while 不加分號,就像for迴圈後面不加分號一樣!這些都是語法要求。第一個是w...
while(1)在C語言裡是不是無限迴圈
在c語言的世界裡除了0是false,其他的都是ture。看你糾結的真蛋疼 while 1 語句,只要不是內的語句產生的終止迴圈,while是不會跳出來的,當然中斷例外。while 1 語句判斷條件是死迴圈是沒錯,但也並非一定是死迴圈,也有可能執行到某個時刻就跳出while迴圈了。比如 while 1...
c語言中while的用法C語言中while的用法
c語言中while的用法解析如下 一 1表示true,在bool型別取值false和true,0為false,非0為true 例如 1和2都是true 程式中,這裡1就表示永真,直到迴圈體內遇到break。二 while用法演示解析 1 含義 while 迴圈會在指定條件為真時迴圈執行 塊。2 語法...