【C语言】有没有大佬知道这个程序为什么会输出一个负数

【C语言】有没有大佬知道这个程序为什么会输出一个负数,第1张

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

为了避免这个问题,你可以在每次运算后检查结果是否已经超出了long类型的范围,并在必要时退出循环。可以这样改:

#include<stdioh>

main()

{

long i;

i=chengji();

printf("%ld", i);

}

long chengji () {

long a, b=1;

for (a=1; a<=100; a+=2)

{

if (b > LONG_MAX/a) break;

b = a;

}

return b;

}

一,下标可能为负数。

二,可能出现变量名称重复。

三,当有时出现有时没有出现时,可能是由于循环使数据不同,导致下标有时为整数,有时为负数,有时为正整数。

1,MATLAB 是商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

2,MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

3,MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

4,MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。

补充:

那建议用条件格式去判断,当A1结果是负数时,就整个单元格都显示红色提示色以作警告效果,这样就更直接了。

方法:

选中A1后打开菜单“格式”-“条件格式”-“条件1”,在“单元格数值”中选“小于”,旁边输入一个0,最后点开旁边的“格式”按钮选红色提示色(如果希望连结果也变成红色,可以连字体也选为红色就可以),保存就行了。

以上就是关于【C语言】有没有大佬知道这个程序为什么会输出一个负数全部的内容,包括:【C语言】有没有大佬知道这个程序为什么会输出一个负数、MATLAB出现负数是什么意思、Excel程序换算出来的结果为负数时报警等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10111936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存