输入的数字大于int类型允许的数字

时间:2017-10-30 18:49:36

标签: c

我正在使用不同的输入检查我的代码。我有下一个代码:

if((scanf("%d",&n)!=1)) {
  printf("Invalid number\n");
  return 0;
}

如果我尝试扫描的数量超过允许的int(例如:10000000000),则不会打印“无效数字”。我希望它打印并结束程序。该怎么办?

1 个答案:

答案 0 :(得分:0)

读取项目的数量为1,但由于int无法保存该值,因此它将保留除输入内容之外的其他内容。因为32位签名int(很可能是这种情况)不能保持这个数字。因此,它将包含一些垃圾值。