我试图使用一些使用三元语句的代码来运行特定的部分,但是,当我这样做时,我收到警告:
expression result unused
该特定部分的代码无法运行。
这种情况下的代码是:
i != a ?: printf("|%*s\\\n", i, "");
为什么会这样?根据{{3}},这种形式的三元运算符,除了案例之外别无选择,应该起作用,但是,它在这里简单地跳过它。任何帮助表示赞赏。
答案 0 :(得分:2)
您的代码等同于
(i != a) ? (i != a) : printf(...);
请注意,您最终不会使用i != a
结果,因此会出现警告。最好将其写为if
语句:
if(i==a) printf(...);