查看完整版本: 請教一題c語法
頁: [1]

z101011 發表於 2012-11-10 06:40 PM

請教一題c語法

1下列C程式會印出何值?

#include<stdio.h>

void main(void){

int i,n=0;

for(i=1; n<=10;i++)

n+=1*1;

print f(“%d\n”,n);

想請問
為何n印出來是14??


<div></div>

CPⅨ 發表於 2012-11-11 12:50 PM

因為樓主打錯題目了

我猜原題目應該是

n+=i*i;

To:笨笨的樓主XD

clementyan 發表於 2012-11-11 11:51 PM

假設n+=1 代表 n=n+1
換句話說n+=i*i 代表 n=n+i*i
當初始值 i=1 n=0
迴圈for(i=1; n<=10;i++)
step1.  i=1時
判別初始值n<=10,條件成立因為n=0,所以執行n+=i*i  n=0+1*1 得n=1
step2  i=2時
判別n=1 n<=10,條件成立,所以執行n+=i*i   n=1+2*2 得=5
step3.  i=3時
判別n=5 n<=10,條件成立,所以執行n+=i*i   n=5+3*3 得=14
step4.  i=4時
判別n=14 n<=10,條件不成立  所以n=14

GGCqwop 發表於 2012-11-28 11:07 PM

已經有人回答了,呵呵。
所以我只是近來晃一下子,順道看看大家。
感謝~

z101011 發表於 2012-12-1 08:00 AM

喔喔喔.了解了,原來如此
感謝clementyan詳細的解題<br><br><br><br><br><div></div>

uxu4bitter 發表於 2012-12-11 02:22 PM

本帖最後由 uxu4bitter 於 2012-12-11 02:24 PM 編輯

呵呵  受益了~板上果然我虎藏龍...

頁: [1]