c语言数字范围,c语言数字范围怎么表示

dfnjsfkhak 13 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言数字范围问题,于是小编就整理了2个相关介绍c语言数字范围的解答,让我们一起看看吧。

  1. C++中,int型数据的取值范围是多少?
  2. C语言,只能输入0--100,如果输入了不在范围,如何用函数实现循环输入,直到输入正确的数据?

C++中,int数据的取值范围是多少

C语言中int的取值范围为:-2147483648 ~ 2147483647 解释如下: int类型在C语言中占4个字节,即32个二进制位。 当表示正数时,最高位为符号位(符号位为0),最大的正数是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647 当表示负数时,最高位为符号位(符号位为1),最小的负数是 1000 0000 0000 0000 0000 0000 0000 0000 而在计算机中是以补码的形式存储的,C语言规定 1000 0000 0000 0000 0000 0000 0000 0000 的补码为-2147483648 所以C语言中int的取值范围为:-2147483648 ~ 2147483647

C语言,只能输入0--100,如果输入了不在范围,如何用函数实现循环输入,直到输入正确的数据?

数据输入错误,有两种情况:

c语言数字范围,c语言数字范围怎么表示-第1张图片-芜湖力博教育咨询公司
图片来源,侵删)

1 输入的数据不正确,比如要求输入整型,但是输入了字符型。 这种情况,可以通过scanf的返回进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,要求重新输入。

2 输入的数据不在合法范围内。 比如要求输入正数,但输入了负数。这时需要判断输入的值是否合法。 以输入两个整数,要求范围在0~100之间的代码可以写作 int a,b,r; while(1)//死循环,不得到正确输入不退出。 { r = scanf("%d%d",&a,&b); if(r == 2 && (a>=0 && a <= 100) && (b>=0 && b<=100)) break;//输入正确,退出循环。 printf("输入不正确,请重新输入 "); fflush(stdin);//清空输入,这一步是必须的,不然出错的输入可能影响下次输入。 }

到此,以上就是小编对于c语言数字范围的问题就介绍到这了,希望介绍关于c语言数字范围的2点解答对大家有用

c语言数字范围,c语言数字范围怎么表示-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)
c语言数字范围,c语言数字范围怎么表示-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

标签: 输入 范围 0000