函数putchar和getchar

时间:2016-10-16 20:58:25

标签: c getchar putchar

任何人都可以帮我弄清楚这些功能是如何工作的。
有两段代码 - 有和没有 while循环

#include <stdio.h>
int main(void) 
{
char z;
z = getchar();
putchar (z);
}

第二个是

#include <stdio.h>
int main(void)
{
char z;
while (z != '.')
{
z = getchar();
putchar(z);
}
}


问题是第一个正常工作,而第二个返回它获得的所有字符(例如,如果输入 2222 ,则函数返回 2222 )。为什么不返回 2

1 个答案:

答案 0 :(得分:0)

两个版本不同。

在第一个版本中,您阅读了一个char并写下来。

在第二部分,你继续阅读char并撰写,直到char为期。请注意,将读取和写入期间。仅忽略以下传递。但是有一个警告。您没有初始化z。根据编译器的不同,它可能会自动初始化为\ 0。否则,您将面临未定义的行为。