程序调试错误!!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 14:41:05
#include <stdio.h>
void main()
{
int a,b,c,z;
scanf ("%d,%d,%d",&a,&b,&c);
if (a>b>c) z=a;
if (a<b<c) z=c;
else z=b;
printf("max=%d",z);
}
就是提示错误是怎么回事?

a>b>c 在程序里的解释是:判断a与b大小。如果a>b,则a>b为真,整个式子的值为1.然后判断1与c的大小。如果1>c然后就给z赋值。这样使用对于bool类的操作是不安全的,编译的时候会提醒错误的。
这样写:if(a>b&&b>c)
初学者多看看书,书上不可能么有介绍的。

程序没有错误,但运行过程完全不是你所期望的,输出正确结果了也是瞎猫撞上死耗子。a>b>c 你能理解,程序执行却不是那意思,1楼已经说的很明白了。这个错误也是开始学编程很容易犯的错误。要自己按程序执行的顺序走,把自己的思路和程序执行的优先级别统一起来。别想当然。