gpt4 book ai didi

c - C++ 上的整数验证

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:01 24 4
gpt4 key购买 nike

我已经编写了小型 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);
}

如您所见,我向用户请求两个数字,而不是将它们相加。但是我想添加一个控件来检查用户输入的数字是整数吗?

我将检查用户输入的数字,如果数字不是真正的整数,我将回显错误。我在每次 scanf 之后都使用它,但效果不是很好。

if(!isdigit(a))
{
printf("Invalid Char !");
exit(1);
}

简而言之,在 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;
}

关于c - C++ 上的整数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com