我编写了小型C++控制台应用程序,这是源代码:
#include<stdio.h>
#include<locale.h>
#include<ctype.h>
#include<stdlib.h>
void main()
{
setlocale(LC_ALL, "turkish");
int a,b,c,d;
printf("first number: ");
scanf("%d", &a);
printf("second number: ");
scanf("%d", &b);
c = a+b;
printf("Sum: : %d\n", c);
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,我要求用户提供两个号码而不是总结它们.但我想添加一个控件来检查用户enterede的数字是整数?
我将检查用户键入的数字,如果数字不是真正的整数,我将回显错误.我每次都使用它,scanf但它不能很好地工作.
if(!isdigit(a))
{
printf("Invalid Char !");
exit(1);
}
Run Code Online (Sandbox Code Playgroud)
很快,在scanf操作中,如果用户键入"a",它将产生错误消息并且程序停止工作.如果用户键入数字程序将继续
scanf为你做验证.只需检查返回值scanf.
printf("first number: ");
if(scanf("%d", &a) != 1) {
printf("Bad input\n");
return 1;
}
printf("second number: ");
if(scanf("%d", &b) != 1) {
printf("Bad input\n");
return 1;
}
Run Code Online (Sandbox Code Playgroud)