【发布时间】:2014-12-01 06:30:13
【问题描述】:
在这个代码示例中提到第二个“c = getchar()”有什么原因吗?
#include <stdio.h>
/* copy input to output; 1st version */
int main(void) {
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar(); // <-- I mean this one.
}
return 0;
}
【问题讨论】:
-
这是一个 while 循环,每次迭代都会读取并放置一个字符,如果没有那个“第二个”getchar,它将如何工作?
-
@OlegMikheev,那是我的疏忽。我在终端运行这个版本的代码:while((c = getchar()), c != EOF) { putchar(c);并且看不到结果之间的差异。愚蠢的情况。
标签: c input while-loop getchar