#include
using namespace std;
int main() {
char a='A',b='B',c;
printf("%d\n",c=a<b--?a+b:a-b);
return 0;
}相关代码,请勿粘贴截图
为什么输出的结果是-126
运行结果及报错内容
首先,b--要在整个表达式计算完毕之后再执行-1的操作,所以a<b--等价于
a<b
b--
所以表达式为真,返回a+b,此时b的值依然是'B'
其次,char是有符号数,超过127就会显示成负数
同学你好,我这里不知道你的意图是什么,我猜测应该是加小括号的问题,可以试试添加小括号来解决,希望对你有帮助哦,放稳心态,加油加油🤓