困扰了我两天的破玩意,现在终于明白了点,写下来,以后还可以回头看看。
#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;
}
和下面的这个例子效果是一样一样的,哎:
#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;
}
还有对于这样的,
while((ch = getchar()) != '#')
; // 此刻不以换行为终止符
return 0;
而如果是这样:
while((ch = getchar()) != '#')
return 0; // 此刻以回车结束程序。
while((ch = getchar()) != '\n')
;
return 0;
与while((ch = getchar()) !='\n')
return 0;
这两个产生的效果是一样的,输入的东西不会再次打印出来,而是以换行作为终止符停止程序。
转载于:https://blog.51cto.com/8299474/1416848