回复 3楼 FURY
可以先把printf()函数和里面与printf有关的输出东西去掉,然后化简,%d就为原来的x----原型为x%2?x:x;看上去是一样的~然后就加上输出格式再进行解读。
如果觉得这样不太好理解,那可以换一种理解方式:先把输出内容看懂,它里面有个条件运算符,就意味着输出内容有个分支。再看判断条件~
解决这类化简关键是运算先运算括号最里面的,再看里面的运算符,按照运算符运算就行了,然后把里面的结果往外套,一个一个括号解开。
不过你那题属于一些很不常见的特例,一般写法都是用if语句作为分支分开两个printf写的。
而且,一般运算都不会超过两层括号,知道运算规则就行了。好好琢磨消化一下,如果不是对方刻意出考题,这样的化简花些时间去理解就没问题的了。