gpt4 book ai didi

c - Getchar() 不断返回 1

转载 作者:行者123 更新时间:2023-12-01 21:43:54 25 4
gpt4 key购买 nike

我是 StackOverflow 的新手。我希望能够在这里学到很多东西。所以,我是 C 的初学者。我只是尝试一些事情,比如使用非常基本的功能。这是我的代码:

#include <stdio.h>
#include <stdlib.h>


int main()
{ int c;
int i,wl[20];
int count = 0;
i = 0;

printf("Insert line: ");


while(c= getchar() != '\n'&& c != EOF)
printf("integer value of the variable is %d\n", c);
return 0;
}

这应该是一个简单的程序:您插入一个输入并以 int 形式为您提供当前值。问题是:getchar 无论如何都会返回 1。 enter image description here

另外,我还有一个问题。我知道 C 中的 char 基本上是一个 8 位整数,事实上您可以互换使用 char 和 int(有一些问题,因为整数不是 8 位变量)。那么:为什么有些人在需要使用 getchar 存储 char 时将变量声明为 int 而不是 char?很抱歉提出这样的基本问题。

注意:声明了其他变量,因为这是更大代码的一部分。代码的所有其他部分都作为代码放置以测试此 (/* */)。对不起我的英语,我希望我写的是清楚的。

最佳答案

这个:

c= getchar() != '\n'

相当于

c = (getchar() != '\n')

所以完全不是你的意思。所以 1!= 比较的结果。你需要

(c = getchar()) != '\n'

关于c - Getchar() 不断返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60948796/

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