日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

while(scanf(%d,n)!=EOF)

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的while(scanf(%d,n)!=EOF)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。