永发信息网

c++ 三目运算符 直接输出结果不正确

答案:2  悬赏:0  手机版
解决时间 2021-03-10 22:36
  • 提问者网友:藍了天白赴美
  • 2021-03-10 16:40
#include
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
c=(a>=b)?a:b;
cout<<(a>=b)?a:b<<'\n';
return 0;
}
这个输出之后结果恒为1
#include
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
c=(a>=b)?a:b;
cout<<((a>=b)?a:b)<<'\n';
cout< return 0;
}
这个可以输出正确的结果
那个括号起什么作用
没有的话程序怎么进行?
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-03-10 17:08
首先你要知道<<其实也是一个运算符,从你的例子可以看出它跟括号外的符号运算符同级(比如比较用的==,<=,>=,判断用的?等等,当然比+-*/小,它会先算+-*/),你不加括号,他就输出(a>=b)判断后的结果,也就是1;加了括号后它就能如你所愿的执行了
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-10 18:36
三目运算就是下面这算式了 a>="a"&&a<="z")?(a+32):a 它的意思是:a代表的字符在小写字母'a'和'z'之间吗?如果是,运算结果是a+32;如果不是,结果是a 这段程序应该是字母大小写转换,但有点问题。如果是想把小写转成大写,后面应该是(a-32);如果是想把大写转成小写,引号里应该是大写字母a和z
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯