下面的程序是读取字符,然后输出。按q结束:
#include <stdio.h>
#include <ctype.h>
int main()
{
char a;
while((a=getchar())!='q')
{
putchar(a);
printf("\n");
}
return 0;
}
非常简单的一个程序,但是运行时会发现,我们一次可以输入多个字符,且每个字符都会被打印出来,但是如果我们想要的结果只是打印每次输入的第一个字符,应该怎么调整?
下面时修改后的代码:
#include <stdio.h>
#include <ctype.h>
int main()
{
char a;
while((a=getchar())!='q')
{
putchar(a);
while(getchar()!='\n')
continue;
printf("\n");
}
return 0;
}
在原代码基础上加入了一句 while(getchar()!='\n')
continue;
利用while循环和continue语句,将每行除了第一个字符,包括换行符,全部舍弃,即可实现想要的结果。