在下面编写的程序中,我如何确保只输入整数值? 如果输入字符,程序应将其转换为ASCII等效项,然后添加它们并将输出显示为数字。 请帮帮我......
#include<stdio.h>
int main(int argc, char **argv)
{
int a,b,c;
printf("enter two numbers:-");
scanf("%d \t %d",&a,&b);
c=a+b;
printf("addition of numbers= %d",c);
}
答案 0 :(得分:2)
scanf
返回它成功读取的项目数,因此您可以检查以确保它返回您期望的相同数字。例如,
if (scanf("%d \t %d", &a, &b) != 2)
{
// handle error
}
请注意\t
是一个空格字符,scanf
会忽略空格。
答案 1 :(得分:1)
只是补充詹姆斯所说的话。
别忘了刷新标准输入
#include<stdio.h>
int main(int argc, char **argv)
{
int a,b,c;
printf("enter two numbers:-");
if( scanf("%d \t %d",&a,&b) == 2 )
{
c=a+b;
printf("addition of numbers= %d",c);
}
else {
printf("please enter a valid input");
getchar(); // the getchar will clear the stdin otherwise next time you go do
// a scanf it might not work.
}
}