首页 > 解决方案 > 如何用三元运算符替换这个 if-else 条件

问题描述

请帮助我以更好的方式重写以下条件

这是交流代码

 if(a == MACRO1)
 strcpy(x,"S")
else if (a == MACRO2)
 strcpy(x,"K");

标签: c

解决方案


形式上,它可以被重写为等价

a == MACRO1 ? strcpy(x, "S") : 
a == MACRO2 ? strcpy(x, "K") : 0;

但是没有有意义的理由这样做,除非它只是一个难题(或者除非有一个可靠的理由来维护表达式语义)。


推荐阅读