我目前正在学习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&amp; R书中),因为无论何时我使用EOF我都会进入这个循环,我无法摆脱。
感谢任何人提供的任何建议。
答案 0 :(得分:4)
您可以使用scanf。
看一下这个例子:
printf("Please enter your first number ");
int number=0;
scanf ("%d",&number);
答案 1 :(得分:0)
我上面的scanf答案是正确的,但如果你还没有读过地址或格式化字符串,可能很难理解。
您可以通过从中减去'0'将您的角色转换为等效的整数:
char c = getchar();
int n = c - '0';