c语言int输入超出范围如何让它重新输入,大佬们给我代码好伐!

2025-03-21 04:13:03
推荐回答(3个)
回答1:

C语言中int的取值范围为:-2147483648 ~ 2147483647。超过了这个范围进行赋值,C源代码是无法通过编译的。

下面给出简单的测试代码:

# include

int main(void)

{

int i = 100000000000000000000000000000000000000000000;

printf("%d\n", i); 

return 0;

}

可以看到编译器提示这个定义类型的赋值太大了,导致无法编译成功。

回答2:

int main() {

int max = 1000;
int input = 0;

do{

printf("请输入一个小于 %d 的数:", max);
scanf("%d", &input);

} while ( input > max );


return 0;
}

回答3:

int本身超出范围,如果用%d来输入,是没办法判断是否超过范围的
所以最简单的方法,就是以64位整型输入
然后判断值是否在int范围
如果超过int,则提示并循环输入,直到符合int范围为止