程序編寫如下#include<stdio.h>main(){int a;a=getchar();while(a!=EOF){putchar(a);a=getchar();}用簡單易懂的術語(非專業屬于)解釋下這 while(a!=EOF) 條件的意義是什么?
3 回答

皈依舞
TA貢獻1851條經驗 獲得超3個贊
EOF是為了判斷你什么時候輸完了以退出循環,按ctrl+Z的時候,進程會關閉標準輸入,這時候getchar就會返回-1,也就是EOF,然后退出循環。當然,你并不一定要設置成EOF,你也可以設置成輸入ESC后退出,ESC的鍵值是27,所以把while那行改成while(a!=27),這樣你按ESC后,再按回車就退出了

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
while是C語言的循環結構標識符,當while后括號內的條件成立(為真)時,會執行循環體,否則會退出循環。
!=為C語言中的條件運算符之一,讀作不等于。其形式為
a!=b
計算規則為:
1 當a與b相等時,該表達式結果為假,即0;
2 當a與b不相等時,該表達式結果為真,即1。
EOF為End Of File的簡寫,這是一個宏定義,代表文件結束符,其值為-1。
于是這段代碼的含義為,執行循環,直到a值為EOF時退出。
- 3 回答
- 0 關注
- 175 瀏覽
添加回答
舉報
0/150
提交
取消