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