c - 如何用三元运算符替换这个 if-else 条件
问题描述
请帮助我以更好的方式重写以下条件
这是交流代码
if(a == MACRO1)
strcpy(x,"S")
else if (a == MACRO2)
strcpy(x,"K");
解决方案
形式上,它可以被重写为等价
a == MACRO1 ? strcpy(x, "S") :
a == MACRO2 ? strcpy(x, "K") : 0;
但是没有有意义的理由这样做,除非它只是一个难题(或者除非有一个可靠的理由来维护表达式语义)。
推荐阅读
- git - 是否有任何适用于 Linux 的 GUI diff 工具提供熟悉的 GitHub 布局差异?
- android - 如何修复 androidx 中的“android.support.v4.content”?
- python - 在提交表单之前从数据库中获取数据
- transition - 使用多个 Swup 插件
- amazon-web-services - 具有主机标头转发的菊花链 CloudFront
- python - 是否可以使用 Python 语言编写 Elasticsearch 插件
- windows - 添加删除项目时没有电子邮件和管家
- python - 如何将函数应用于熊猫 df
- java - Android datePicker 获取星期几
- java - 代码不在 REST 的 Request 方法中使用 android 中的 volley 进行调用