不能,
if(a>b) printf("%d",a);else printf("%d",b);的意思是如果a>b则输出a,否则输出b.
而a>b?a:b;没有完成这个功能,要完成这个功能应该这样
a>b?printf("%d",a):printf("%d",b);
本来也可以这样printf("%d",a>b?a:b);但是此题要求用条件表达式,所以只能用前一个方法啦
三目运算符:表达式1?表达式2:表达式3,如果表达式1为真,结果就等于表达式2,为假等于表达式3,a>b?a:b等式求两个数的最大值,但是if(a>b) printf("%d",a);else printf("%d",b);是打印输出两个数的最大值,a>b?a:b没有打印输出,如果要替换的话要改成
printf("%d",a>b?a:b);
这一句应该改成max=(a>b)?a:b;就可以了,a>b你没加括号。
printf("%d", a>b?a:b);
这样写可以啊,已经运行测试了!