while持續輸入的幾種常用使用方法


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

如果n被成功讀入,則返回值為1,

如果n未被成功讀入,則返回值為0,

如果遇到錯誤或遇到end of file,返回值為EOF。

那么什么時候返回EOF呢,簡單來說在Windows下按住Ctrl+Z,在Mac下按住Ctrl+D,作為結束流的信號。

當然你有一些特殊的要求,比如我想讓n=0時結束。

 

while(scanf("%d",&n)!=EOF)
{
    if(n==0)
    break;
}

 

當然我將全部方法總結如下

例如:

 

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

while(~scanf("%d",&n))
-------------------------------------以上可以按Ctrl+Z或Ctrl+D來結束,按0時會繼續輸入
while(scanf("%d",&n)&&n!=0)

while(scanf("%d",&n)&&n)    //上一步簡化后,相當於while(n)<--這個n是你輸入的值

while(scanf("%d",&n),n)
-------------------------------------以上是在輸入0時結束,按Ctrl+Z或Ctrl+D無效
while(scanf("%d",&n)==1&&n)
-------------------------------------既可以按0時結束,也可以以按住Ctrl+Z或Ctrl+D結束

 

 

 

 


以上都是輸入一種變量時。

 

當然有題目也需要兩種變量,同樣的道理。

 

while (scanf("%d %d",&m,&n)!=EOF)

while (~scanf("%d%d",&m,&n))
-----------------------------------------------------以上可以按Ctrl+Z或Ctrl+D來結束,按0 0時會繼續輸入
while(scanf("%d%d",&m,&n)&&m&&n)

while(scanf("%d%d",&m,&n),m,n)

while(scanf("%d%d",&m,&n)==2,m,n)
--------------------------------------------以上是在輸入0 0時結束,按Ctrl+Z或Ctrl+D無效
while(scanf("%d %d",&m,&n)==2&&m&&n)
---------------------------------------------既可以按0 0時結束,也可以以按住Ctrl+Z或Ctrl+D結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM