while((ch = getchar()) != '\n')

困擾了我兩天的破玩意,如今終於明白了點,寫下來,之後還能夠回頭看看。ide

#include <stdio.h>
#include <ctype.h>
int main(void)
{
    char ch;
    
    ch = getchar();
    while(ch != '\n')
    {
        if(isalpha(ch))
            putchar(ch + 1);
        else
            putchar(ch);
        ch = getchar();
    }
    putchar(ch);    //打印換行字符
    return 0;
}

和下面的這個例子效果是同樣同樣的,哎:get

#include <stdio.h>
#include <ctype.h>
int main(void)
    char ch;
    
    while((ch = getchar()) != '\n')
    {
        if(isalpha(ch))
            putchar(ch + 1);
        else
            putchar(ch);
    }
    putchar(ch);      //打印換行字符
    return 0;
}


還有對於這樣的,it

while((ch = getchar()) != '#')
    ;      //  此刻不以換行爲終止符
    return 0;

而若是是這樣:io

while((ch = getchar()) != '#')
    return 0;   //  此刻以回車結束程序。
    
while((ch = getchar()) != '\n')
    ;
    return 0;
與while((ch = getchar()) !='\n')
     return 0;
     
 這兩個產生的效果是同樣的,輸入的東西不會再次打印出來,而是以換行做爲終止符中止程序。
相關文章
相關標籤/搜索