【发布时间】:2020-03-31 10:48:34
【问题描述】:
我是 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。
另外,我还有一个问题。我知道 C 中的 char 基本上是一个 8 位整数,事实上您可以互换使用 char 和 int (有一些问题,因为整数不是 8 位变量)。那么:为什么有些人在需要用 getchar 存储 char 时将变量声明为 int 而不是 char?很抱歉这些基本问题。
注意:其他变量被声明,因为这是更大代码的一部分。代码的所有其他部分都作为代码进行测试 (/* */)。 对不起我的英语,我希望我写的很清楚。
【问题讨论】:
-
欢迎来到 SO。请不要发布纯文本的图像。相反,只需将文本复制并粘贴到您的问题中即可。这适用于代码以及程序的输出。
-
请不要将多个问题放在一个问题中。而是创建一个新的。
-
getchar返回int值,而不是char。这应该是足够的理由。还请考虑一下:EOF是否适合char? -
好的,下次我将创建新线程并发布文本而不是图像。我在 EOF 示例中看到了您的观点。谢谢。