1、EOF是endoffile的縮寫,表示"文字流"(stream)的結尾。這裡的"文字流",可以是檔案(file),也可以是標準輸入(stdin)。EOF不是特殊字元,而是一個定義在標頭檔案stdio.h的常量,一般等於-1:#defineEOF(-1)。除了表示檔案結尾,EOF還可以表示標準輸入的結尾。因為有時候無法事先知道輸入的長度,必須手動輸入一個字元,表示到達EOF。2、在while迴圈中以EOF作為檔案結束標誌,這種以EOF作為檔案結束標誌的檔案,可以是文字檔案,也可以是標準輸入stdin。在文字檔案中,資料都是以字元的ASCII程式碼值的形式存放。對於普通文字,ASCII程式碼值的範圍是0~255,不可能出現-1,因此可以用EOF作為檔案結束標誌。在windows平臺,stdin輸入流的EOF標誌是ctrl+z。在unix平臺,stdin輸入流的EOF標誌是ctrl+d。例程:#include<stdio.h>intmain(){intn,i;intarray[25];while(scanf("%d",&n)!=EOF){//迴圈讀入n,直到直到crtl+z/dfor(i=0;i<n;i++)scanf("%d",array+i);for(i=0;i<n;i++)printf("%d",array[i]);}return0;}
1、EOF是endoffile的縮寫,表示"文字流"(stream)的結尾。這裡的"文字流",可以是檔案(file),也可以是標準輸入(stdin)。EOF不是特殊字元,而是一個定義在標頭檔案stdio.h的常量,一般等於-1:#defineEOF(-1)。除了表示檔案結尾,EOF還可以表示標準輸入的結尾。因為有時候無法事先知道輸入的長度,必須手動輸入一個字元,表示到達EOF。2、在while迴圈中以EOF作為檔案結束標誌,這種以EOF作為檔案結束標誌的檔案,可以是文字檔案,也可以是標準輸入stdin。在文字檔案中,資料都是以字元的ASCII程式碼值的形式存放。對於普通文字,ASCII程式碼值的範圍是0~255,不可能出現-1,因此可以用EOF作為檔案結束標誌。在windows平臺,stdin輸入流的EOF標誌是ctrl+z。在unix平臺,stdin輸入流的EOF標誌是ctrl+d。例程:#include<stdio.h>intmain(){intn,i;intarray[25];while(scanf("%d",&n)!=EOF){//迴圈讀入n,直到直到crtl+z/dfor(i=0;i<n;i++)scanf("%d",array+i);for(i=0;i<n;i++)printf("%d",array[i]);}return0;}