1樓:匿名使用者
這個程式有個關鍵錯誤是while(!fefo(fp)) 應該是while(!feof(fp)) 這裡的feof是該檔案的結束即the end of (fp指向的檔案)
null 是隻的是空指標即他沒有所對應的檔案,即我們所找的檔案不存在或檔案不存在者無法開啟。(null也可以表示0,但在這裡不是)
return 1; 是作為一個提示即該檔案不存在或無法開啟。
return 0是提示該檔案已經找到並操作成功i++,自增。在while迴圈中。每迴圈一次自增1,在檔案中取一個數放在陣列中。
如果換成i,即陣列中只有的xx[0]中有一個數字(因為每次的數都是存放在a裡,每次讀取的數將上次讀取的數給覆蓋了,就成了a[0]裡只有檔案裡最後一個數字了),陣列其他的數都是系統給的數(一般是0),就不是我們想要的i++是讓沒一次度的數存放陣列的位置加一,即的第n個數字放在的n-1號下標的陣列裡,yi
2樓:匿名使用者
這是讀入程式
null是空值。
i++,自增。在while迴圈中。每迴圈一次自增1,在檔案中取一個數放在陣列中。
while(!fefo(fp))
3樓:
1.null在c中代表字元0,
2.return 1,用來判斷開啟的檔案"in.dat"是不是空檔案,如果是的話,函式返回值為1,函式返回值為0的時,說明檔案不是空檔案嘍!
3.&xx[i++],之所以用i++,因為在while迴圈中要有一個能自增的變數,不然的話,迴圈也就沒意思啦!
4樓:匿名使用者
null一般用在指標裡,代表空,可以視作0(因為它的值就是0)
return 在這裡作為程式的分支,如果fopen("in,dat","r")的返回值為null(0),就返回1,不然執行下去再返回0,用來區分程式的執**況而已
&xx[i++]這句套在while(!fefo(fp))下的注意,目的是對檔案裡所有內容處理,i++指的是每處理一個內容指標就下移處理下一個內容,如果換成i,那直到結束都在對第一個元素進行處理,當然就錯誤了
5樓:
null 表示檔案不存在。
if((fp=fopen("in,dat","r"))==null) return 1; 如果檔案開啟成功就返回1;
int readdat(void)
maxline=i;
fclose(fp);
return 0; //這個是函式操作成功完成返回0。}
C語言的問題C語言問題C語言問題
若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...
C語言問題,c語言問題?
一 c語言規定總是從main 開始執行的 這個函式也叫 主函式 因此,你發來的題目中的 1 6 8 敘述都是錯誤的,都應該選擇f。二 第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。三 第3題,c語言中強制...
C語言問題,c語言問題?
你這個程式是捕捉0到9的按鍵狀態,按下再鬆開時才會記錄,想要識別所有按鍵,把for迴圈範圍擴大。比如for charch 32 ch 127 ch 這樣就包含了特殊符號及大小寫字母還有數字。但是,這個 是有問題的!一 你這個 需在鍵位已經按下後啟動才能識別,否則啟動時沒有按下對應鍵位,程式就結束了。...