关于EOF的用法,以及getchar()
发布网友
发布时间:2024-10-20 12:28
我来回答
共1个回答
热心网友
时间:2024-11-15 07:45
没什么不同,结果都一样,只是表达的方式不一样而已。
#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar(); //getchar()每次只能接收一个字符,此处是接收你输入的第一个字符。
while (c != EOF) //循环控制条件,当C的值不为-1时,执行循环语句。
{
putchar(c); //putchar()每次只能显示一个字符
c = getchar(); /*接收下一个字符,如果把这里去掉,那么循环条件C的值将是你输入的第一个字符,而第一个字符又不为-1,也就是循环条件成立,所以会出现死循环。*/
}
}
如果把程序改成这样,你执行一下看看有什么不同:
#include <stdio.h>
/* copy input to output; 2nd version */
int main()
{
int c;
while ((c = getchar()) != '\n')
{
putchar(c);
}
}