右侧
当前位置:网站首页 > 资讯 > 正文

c语言负值原因,c语言运算结果中出现负数

作者:admin 发布时间:2024-03-25 06:44 分类:资讯 浏览:17


导读:为什么C语言算出来是负数?大神们帮忙检查一下吧然后肯定是超出界限了。int是2个字节。也就是16位,第一位是数据的正负0正1负,15位是数值最大的值是32767超出了。。然后你...

为什么C语言算出来是负数?大神们帮忙检查一下吧

然后肯定是超出界限了。int是2个字节。也就是16位,第一位是数据的正负0正1负,15位是数值最大的值是32767 超出了。。然后你最后结果的反正是超出范围了。,。最终是哪里超出的就不一定是最后了。。

程序会输出负数的原因是,在这个程序中你没有对每次运算的结果进行检查,因此当乘积超出了long类型的最大值时,就会产生溢出,导致结果为负数。

这个问题有多种可能,不一而足。算法有错误,最终计算结果是负数。输出自然会是负数。例如:int a=1;int b=a-2;printf(b=%d,b);//输出结果:b=-1超过变量类型的最大取值范围,发生溢出。

if(year==1||year==2||year==3||year==5) //---错误一,比较用==。

出现负数,是因为奇数、偶数的和太大,超过了long(长整型)类型的最大值了。个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。

确实,用C是负数 因为C的编译器对于大于32767的int型数(RAND_MAX+1=32768)处理上变成了一个负数-32768,这是机器在处理上它被规定成这样了。所以运算以后还是个负数了。

C语言,为什么它的运行结果为负值?

你计算100!呀,int存不下的,这个结果太大了,溢出了,所以可能会出现结果为负数,哪怕不是负数结果也不是正确的。

这个问题有多种可能,不一而足。算法有错误,最终计算结果是负数。输出自然会是负数。例如:int a=1;int b=a-2;printf(b=%d,b);//输出结果:b=-1超过变量类型的最大取值范围,发生溢出。

程序会输出负数的原因是,在这个程序中你没有对每次运算的结果进行检查,因此当乘积超出了long类型的最大值时,就会产生溢出,导致结果为负数。

你的主要原因是变量w没有初始化,是内存中的遗留值,导致最后输出的结果中全部学生的平均值为2000多的一个负数。

出现负数,是因为奇数、偶数的和太大,超过了long(长整型)类型的最大值了。个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。

if(year==1||year==2||year==3||year==5) //---错误一,比较用==。

c语言问题,为什么会输出负数

你的主要原因是变量w没有初始化,是内存中的遗留值,导致最后输出的结果中全部学生的平均值为2000多的一个负数。

程序会输出负数的原因是,在这个程序中你没有对每次运算的结果进行检查,因此当乘积超出了long类型的最大值时,就会产生溢出,导致结果为负数。

你计算100!呀,int存不下的,这个结果太大了,溢出了,所以可能会出现结果为负数,哪怕不是负数结果也不是正确的。

出现负数,是因为奇数、偶数的和太大,超过了long(长整型)类型的最大值了。个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。

一道C语言题,为什么输出的结果为负数?

1、这个问题有多种可能,不一而足。算法有错误,最终计算结果是负数。输出自然会是负数。例如:int a=1;int b=a-2;printf(b=%d,b);//输出结果:b=-1超过变量类型的最大取值范围,发生溢出。

2、程序会输出负数的原因是,在这个程序中你没有对每次运算的结果进行检查,因此当乘积超出了long类型的最大值时,就会产生溢出,导致结果为负数。

3、你计算100!呀,int存不下的,这个结果太大了,溢出了,所以可能会出现结果为负数,哪怕不是负数结果也不是正确的。

4、因为两个负数相乘也会也能得到与两个正数相乘相同的结果,如:(-5)*(-5)== 5 5 ;是完全成立的。所以结果中有负数是正常的。

5、出现负数,是因为奇数、偶数的和太大,超过了long(长整型)类型的最大值了。个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。

标签:


关灯