關於資料輸入的問題

2021-07-24 07:32:10 字數 586 閱讀 4510

這裡主要談一下多組資料輸入的問題

關於杭電oj上的題目大多都是要求多組資料輸入

多組資料輸入的方式很靈活

1.while(scanf(「%d」,&a)!=eof)

eof是end of file的縮寫,讀入資料存在檔案中,然後一組組的讀出,直到讀到檔案末尾

eof除了表示檔案結尾,eof還可以表示標準輸入的結尾。

!=eof」 表示檔案還沒有結束「=eof」 表示到檔案末尾了

這些我剛開始也沒看懂

我的理解是eof為乙個常量其中!=eof等價於!=-1 (eof在定義在stdio.h中eof為常量其值為-1)

scanf讀取正確的數值,返回整數,比如scanf(「%d%d」,&x, &y),scanf返回2;scanf(「%d」,&x)返回1

也就是說,只要有資料輸入,其值為正數,便滿足!=-1,所以while中的邏輯值為真,執行大括號中的檔案。

2.while(~scanf(「%d」,&a))

這也可以表示多組資料,其實~我也講過的,有取反的意思,也可以表示析構函式。

它的效果與while(scanf(「%d」,&a)!=eof)一樣

關於筆試中的資料輸入問題

輸入資料的行數和個數已知 這種情況下的資料輸入就比較簡單了 int n cin n vectordata n,0 for int i 0 i n i 輸入資料的行數和個數未知 每行的資料之間空格隔開,每行的資料個數不定,一直讀到檔案結束符為止 include include include incl...

關於pig中文輸入的問題

新建了乙個檔案test.txt,隨便造了幾條測試資料 tab鍵分隔,是pig預設的分隔方式,若要以其他分隔,load的時候load test.txt using pigstorage as 就可以以逗號分隔 xiaojun 28 上海 yangna 24 蘭州 在pig grant shell中輸入...

關於輸入格式錯誤的編譯問題

在函式呼叫中,傳遞給引數的格式不正確也會帶來意想不到的錯誤,編譯器只警告,但執行時發生 test printf segmentation fault 警告資訊如下 gcc m32 o test printf my printf.c my printf.c 66 12 warning multi ch...