#include <stdio.h> /* 将输入复制到输出:版本1 */ int main() { int c; /* 注意是int而不是char,除了存储char类型字符,还要存储EOF */ c = getchar(); while(c != EOF ) { putchar(c); c = getchar(); } }
#include <stdio.h> int main() { /* 将输入复制到输出:版本2 */ int c; while((c = getchar()) != EOF ) putchar(c); }
在终端输入执行时,getchar遇到一个换行或EOF(Ctrl+D)才会执行输出,换行输出以后,又执行下一轮输入。html
我的以为这里使用终端的话,使用getchar() = ‘\n’做为比较。 htm
参考:《文件结束符EOF》http://www.cnblogs.com/kungfupanda/archive/2012/06/20/2556621.htmlblog
#include <stdio.h> /* 对输入字符进行计数 */ void main() { long nc = 0; while(getchar() != '\n') { ++nc; } printf("%ld\n", nc); }