【问题标题】:Print multiple formated strings with a conditional statement in C在 C 中使用条件语句打印多个格式化字符串
【发布时间】:2017-11-19 01:04:56
【问题描述】:

有什么方法可以在 C 中仅基于一个条件打印多个字符串,例如

int main(int argc, char const *argv[]) {

  printf("%s %s\n", condition ? "string1","string2" : "string3","string4");

  return 0;
}

如果条件为真,那么我想拥有

string1 string2

作为输出但是当我这样做时,它不是我得到的

【问题讨论】:

标签: c string-formatting conditional-operator


【解决方案1】:

我认为你需要:

printf("%s %s\n", condition ? "string1" : "string3", condition ? "string2" : "string4");

【讨论】:

  • 我是这样做的,但是我想知道我是否可以避免重复这个条件
  • @Parco 不,因为字符串之间有逗号。
  • @Parco 你总是可以只使用 if 语句,它甚至可能更清晰
  • 我也可以使用 switch 语句,因为条件适用于枚举类型,但目标是避免这种情况。无论如何感谢您的帮助
  • @Parco 如果有多个条件,也许你可以使用一个(指向)字符串的数组,然后使用arrStrings[enumValue]
猜你喜欢
  • 2011-05-09
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
相关资源
最近更新 更多