为什么 clion 中的输出显示的是笑脸而不是字符?

问题描述 投票:0回答:1

The code as well as the output screen

我原以为它会产生同样的结果,但由于某种原因它只是没有并显示笑脸。运行普通的 getchar 和 putchar 工作正常,并给出预期的输出。 即使输入单个字符也只会返回一个笑脸。我是 c 和 clion 的新手,所以我很感激您的帮助。

编辑:我找出了问题的原因。 while 循环上的括号没有正确使用。但还是不明白为什么是笑脸?

#include <stdio.h>

int main() {

    int c;

    while ((c = getchar() != EOF))
        putchar(c);


}
c clion
1个回答
0
投票

解释很简单。

在您的代码中,如果比较

c
只能是
getchar()) != EOF
0
,则在将 
1

分配给结果时,您总是打印代码为 1 的字符
int main() {

    int c;

    while ((c = getchar()) != EOF)
        putchar(c);


}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.