亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

輸入輸出函數

輸入輸出函數

C
街角瘋 2016-08-25 17:17:24
#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"); ???? }運行的過程的是怎樣的?
查看完整描述

2 回答

已采納
?
慕粉3918764

TA貢獻1條經驗 獲得超2個贊

for(;?i<N;?c[i]=getchar(),i++)
{
????;
}
上面的語句這樣寫可能更清楚一點?。?
先得弄清楚for循環的執行順序:
for循環內部以;為分割符,一共兩個分號,共三條語句段
執行順序為:
第一步:執行語句段1;
第二步:執行語句段2,如果語句段2為真,進入{},執行{}里面的語句,{}里的語句執行完執行語句段3;
?????????????????????如果語句2段為假,則退出循環。
第三步:執行語句段3,注意??!語句段3執行完畢之后,返回執行語句段2,也就是重復第二步?。?

在這里:
---第一次循環---
執行第一段:是個空語句;
執行第二段:i的初值為0,N的值通過define定義為6,所以i<N為真,執行第三段。
執行第三段:c[i]=getchar(),意思是把你從鍵盤輸入的字符放到數組c的第i個位置,第一次i=0,所以是把字符放到c[0]的位置
????????????然后?i++?的意思是?i?的值自加1。
????????????
---第二次循環---
執行第二段:判斷i<N是否為真,因為第一次循環之后i的值變成了1,所以i<N?就是1<6,為真,執行第三段。
執行第三段:c[1]?=?getchar(),然后i++。

......
共循環6次!??!

所以這個循環的目的就是輸入6個字符,放到數組c里面


for(i=0;i<N;i++)putchar(c[i]);printf("\n");
第一個for循環懂了,這個for循環就可以理解了,就是把數組c的元素再打印出來?。?!


查看完整回答
2 反對 回復 2016-09-02
  • 街角瘋
    街角瘋
    就是關于上面的程序,如果從鍵盤上輸入: ab回車 c回車 def回車 為什么輸出結果就是 ab c d
?
小喲白

TA貢獻3條經驗 獲得超2個贊

輸入:scanf
輸出:printf

查看完整回答
反對 回復 2016-08-26
  • 2 回答
  • 0 關注
  • 1349 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號