這是我的代碼。我使用終端在ubuntu上運行它。當我在終端輸入(a CtrlD)時,程序沒有停止,但仍繼續等待我的輸入。ctrl-d沒有停止while(getchar()!= EOF)循環
是不是CtrlD等於unix中的EOF?
謝謝。
#include<stdio.h>
main() {
int d;
while(d=getchar()!=EOF) {
printf("\"getchar()!=EOF\" result is %d\n", d);
printf("EOF:%d\n", EOF);
}
printf("\"getchar()!=EOF\" result is %d\n", d);
}
這不是遞歸。這只是一個無限循環,直到您停用輸入。遞歸=函數直接調用自己或者在一些其他中間數量的步驟之後。 – 2012-08-14 00:52:02
用gcc編譯,點擊'^ D'停止循環。 – 2012-08-14 01:02:39
@JonLin只需輸入^ D。它也適用於我。但是,當輸入是(a^D)時,循環沒有停止。 – Sam 2012-08-14 01:11:26