#include<iostream>
using namespace std;
int main() {
int weight1 = 0;
cout << "小猪A的体重为:" << endl;
cin >> weight1;
int weight2 = 0;
cout << "小猪B的体重为:" << endl;
cin >> weight2;
int weight3 = 0;
cout << "小猪C的体重为:" << endl;
cin >> weight3;
if (weight1 > weight2 > weight3 && weight1 > weight3 > weight2)
{
cout << "小猪A最重" << endl;
}
else if (weight2 > weight1 > weight3 && weight2 > weight3 > weight1)
{
cout << "小猪B最重" << endl;
}
else
{
cout << "小猪C最重" << endl;
}
system("pause");
return 0;
}

请问为什么这段代码输出的结果永远是“小猪C”最重?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-Fay 2021-08-11 11:13关注
if (weight1 > weight2 > weight3 && weight1 > weight3 > weight2)
这个表达式有问题,不能像数学一样连着写,应该要分开写
if ((weight1 > weight2 && weight2 > weight3) && (weight1 > weight3 && weight3 > weight2))本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用