gpt4 book ai didi

c - 函数 putchar 和 getchar

转载 作者:行者123 更新时间:2023-11-30 16:56:01 25 4
gpt4 key购买 nike

谁能帮我弄清楚这些功能是如何工作的。
有两段代码 - 带和不带 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

最佳答案

两个版本不同。

在第一个版本中,您读取单个char并写入它。

在第二个字符中,您继续读取char并写入它,直到char是一个句点。请注意,将读取和写入句点。仅忽略后续 channel 。不过,有一个警告。您没有初始化z。根据编译器的不同,它可能会自动初始化为\0。否则,您将面临未定义的行为。

关于c - 函数 putchar 和 getchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40075409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com