while(scanf(%d,n)!=EOF)
生活随笔
收集整理的這篇文章主要介紹了
while(scanf(%d,n)!=EOF)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
scanf的返回值由后面的參數決定
scanf("%d%d", &a, &b);
如果a和b都被成功讀入,那么scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end of file,返回值為EOF。
且返回值為int型.
驗證:
? ? ? ? ? ? sign = scanf("%d %d",&a,&b);
? ? ? ? ? ? printf("%d %d\n",a,b);
? ? ? ? ? ? printf("%d\n",sign);
但是輸入“a X”的時候 輸出的sign為0。
什么時候輸出EOF? 在stdio.h中宏定義為-1。
按照說明,scanf函數只有在第一個參數為NULL(空指針)的情況下,才可能返回EOF,否則,返回成功格式化并賦值的參數個數(>=0)。
End Of File,在電腦的術語縮寫通常為 EOF,在作業系統決定資料源無更多的資料可讀取。 ?
int c;
while ((c = getchar()) != EOF){
putchar(c);
}
但是,標準輸入與文件不一樣,無法事先知道輸入的長度,必須手動輸入一個字符,表示到達EOF。 Linux中,在新的一行的開頭,按下Ctrl-D,就代表EOF(如果在一行的中間按下Ctrl-D,則表示輸出"標準輸入"的緩存區,所以這時必須按兩次Ctrl-D);Windows中,Ctrl-Z表示EOF。(順便提一句,Linux中按下Ctrl-Z,表示將該進程中斷,在后臺掛起,用fg命令可以重新切回到前臺;按下Ctrl-C表示終止該進程。) 那么,如果真的想輸入Ctrl-D怎么辦?這時必須先按下Ctrl-V,然后就可以輸入Ctrl-D,系統就不會認為這是EOF信號。Ctrl-V表示按"字面含義"解讀下一個輸入,要是想按"字面含義"輸入Ctrl-V,連續輸入兩次就行了
EOF 意思就是 end of file!!!! 你 按按CTRL+D試試。本文轉自:http://blog.sina.com.cn/s/blog_5a2bbc860101c8f2.html
scanf("%d%d", &a, &b);
如果a和b都被成功讀入,那么scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end of file,返回值為EOF。
且返回值為int型.
驗證:
? ? ? ? ? ? sign = scanf("%d %d",&a,&b);
? ? ? ? ? ? printf("%d %d\n",a,b);
? ? ? ? ? ? printf("%d\n",sign);
但是輸入“a X”的時候 輸出的sign為0。
什么時候輸出EOF? 在stdio.h中宏定義為-1。
按照說明,scanf函數只有在第一個參數為NULL(空指針)的情況下,才可能返回EOF,否則,返回成功格式化并賦值的參數個數(>=0)。
End Of File,在電腦的術語縮寫通常為 EOF,在作業系統決定資料源無更多的資料可讀取。 ?
int c;
while ((c = getchar()) != EOF){
putchar(c);
}
但是,標準輸入與文件不一樣,無法事先知道輸入的長度,必須手動輸入一個字符,表示到達EOF。 Linux中,在新的一行的開頭,按下Ctrl-D,就代表EOF(如果在一行的中間按下Ctrl-D,則表示輸出"標準輸入"的緩存區,所以這時必須按兩次Ctrl-D);Windows中,Ctrl-Z表示EOF。(順便提一句,Linux中按下Ctrl-Z,表示將該進程中斷,在后臺掛起,用fg命令可以重新切回到前臺;按下Ctrl-C表示終止該進程。) 那么,如果真的想輸入Ctrl-D怎么辦?這時必須先按下Ctrl-V,然后就可以輸入Ctrl-D,系統就不會認為這是EOF信號。Ctrl-V表示按"字面含義"解讀下一個輸入,要是想按"字面含義"輸入Ctrl-V,連續輸入兩次就行了
EOF 意思就是 end of file!!!! 你 按按CTRL+D試試。本文轉自:http://blog.sina.com.cn/s/blog_5a2bbc860101c8f2.html
總結
以上是生活随笔為你收集整理的while(scanf(%d,n)!=EOF)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD的PCB板设计中PCB板的开槽
- 下一篇: STM32 BOOT0连接不当造成死机