#include?"stdio.h"
#define?N?6
void?main()
{
char?c[N];
int?i=0;
for(;i<N;c[i]=getchar(),i++);
for(i=0;i<N;i++)putchar(c[i]);printf("\n");
????
}運(yùn)行的過程的是怎樣的?
2 回答
已采納

慕粉3918764
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超2個(gè)贊
for(;?i<N;?c[i]=getchar(),i++) { ????; } 上面的語句這樣寫可能更清楚一點(diǎn)?。? 先得弄清楚for循環(huán)的執(zhí)行順序: for循環(huán)內(nèi)部以;為分割符,一共兩個(gè)分號(hào),共三條語句段 執(zhí)行順序?yàn)椋?第一步:執(zhí)行語句段1; 第二步:執(zhí)行語句段2,如果語句段2為真,進(jìn)入{},執(zhí)行{}里面的語句,{}里的語句執(zhí)行完執(zhí)行語句段3; ?????????????????????如果語句2段為假,則退出循環(huán)。 第三步:執(zhí)行語句段3,注意!!語句段3執(zhí)行完畢之后,返回執(zhí)行語句段2,也就是重復(fù)第二步?。? 在這里: ---第一次循環(huán)--- 執(zhí)行第一段:是個(gè)空語句; 執(zhí)行第二段:i的初值為0,N的值通過define定義為6,所以i<N為真,執(zhí)行第三段。 執(zhí)行第三段:c[i]=getchar(),意思是把你從鍵盤輸入的字符放到數(shù)組c的第i個(gè)位置,第一次i=0,所以是把字符放到c[0]的位置 ????????????然后?i++?的意思是?i?的值自加1。 ???????????? ---第二次循環(huán)--- 執(zhí)行第二段:判斷i<N是否為真,因?yàn)榈谝淮窝h(huán)之后i的值變成了1,所以i<N?就是1<6,為真,執(zhí)行第三段。 執(zhí)行第三段:c[1]?=?getchar(),然后i++。 ...... 共循環(huán)6次?。?! 所以這個(gè)循環(huán)的目的就是輸入6個(gè)字符,放到數(shù)組c里面 for(i=0;i<N;i++)putchar(c[i]);printf("\n"); 第一個(gè)for循環(huán)懂了,這個(gè)for循環(huán)就可以理解了,就是把數(shù)組c的元素再打印出來?。?!
- 2 回答
- 0 關(guān)注
- 1343 瀏覽
添加回答
舉報(bào)
0/150
提交
取消