程序可以运行 但是结果却天壤之别 求大佬救急 这是C语言三个数比较大小 取最大的数 计算机的编程怎么做?

\u8ba1\u7b97\u673a\u7f16\u7a0b\u5165\u95e8

1、把a,b,c都初始化为0,原因是当你输入不符合要求的字符时,a,b,c并不一定全部都会正解赋值,这样你不初始化a,b,c就不会找到问题所在。
2、你的问题在于:你输入a,b,c的值时,用的是中文逗号,而你scanf()里用的是英文逗号,这样scanf()在碰到中文逗号时就停止输入,b,c都没有在赋值,而b,c又没有初始化,里面是随机数,所以得到了你现在的结果。

你这个比较想笑死我咯,你这个比较函数,就后面3句话有效,你这里比较完x,y后,将最大值赋值给了h,那么你下一步就应该比较h与z的值啊。。。
还有scanf("%d%d%d",&a,&b,&c); //输入数据时用空格隔开

出现你的截图错误的原因,是scanf函数里%d之间的逗号,把逗号去掉;
另外 你这个函数求不到最大值

max函数有问题,改成如下:
long int max( long int x, long int y, long int z )
{
long int m;

if(x>y)
m=x;
else
m=y;
if(z>m)
m=z;
return m;
}

改了一下max()函数里的代码,以下:
long int h;
if (x > y)
h = x;
else
h = y;
if (z > h)
h = z;
return h;

扩展阅读:程序已运行但是没窗口 ... 绝对时空观的内容 ... 软件运行但看不见窗口 ... 软件在运行但是不显示 ... 天壤之别任务线图解 ... 程序出现异常 退出 ... 关于程序异常处理 以下 ... 线程有新建 就绪 运行 ... 软件还在运行但是看不见了 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网