逻辑有问题。
你所有if都没有括号,导致每个if只作用于一条语句。
结果就是逻辑并不能进入唯一的分支,而是反复进入不同的分支,max反复被赋值。
比如a>b,max已经赋值成a了,当b>c时,max又赋值成b了,那能对吗
不需要全排列组合,max只要取a,b,c里最大的就行,所以根本不需要a,b,c自己互相比,都跟max比就行了
int max=a;
if(b>max)max=b;
if(c>max)max=c;
写的太乱了吧?
max = a;
if(b > max)
max = b;
if(c > max)
max = c;
printf("%d",max);
思路大致上没啥问题吧....
你给每个if else都加上 大括号{ } 应该就不会有问题了!
记得一定要加大括号{}