【发布时间】:2011-11-24 09:02:03
【问题描述】:
我目前正在学习 C,对于一个项目,我需要读取用户的整数输入。目前我正在使用如下代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a, b;
printf("Please enter your first number");
while((a = getchar()) != '\n') {
}
printf("test");
return 0;
}
我不确定如何使用 getchar 获取数字,然后将其存储在我可以使用的变量中。 此外,我在 while 语句中使用 = '\n' 是因为我并不真正了解 EOF 的工作原理(如 K&R 书中的那样),因为每当我使用 EOF 时,我都会进入这个循环,我无法摆脱。
感谢任何人提供的任何建议。
【问题讨论】:
-
getchar读取char,正如其名称所示。您为什么希望它读取int? -
@Ken:有趣的是它返回了一个
int,嗯? ;-) 我认为关键不是它获得的类型,而是它接受的数据格式(表示自身的字符与表示十进制整数的字符)。 -
@R。 ——这就是我想说的;你做得好多了。 :) 感谢您的澄清。