我需要将字符串分配给a
,然后使用%s
打印。如果运行以下代码,则会收到一条错误消息,内容为Invalid Initializer
。有没有一种方法可以正确执行而不使用switch/case
或if/else
?
char a[25] = ((ws < 1) ? "Calm" :
(ws >= 1) && ws < 4) ? "Light Air" :
(ws >= 4 && ws <= 27) ? "Breeze" :
(ws >= 28 && ws <= 47) ? "Gale":
(ws >= 48 && ws <= 63) ? "Storm" : "Hurricane");
答案 0 :(得分:0)
“我需要将字符串分配给a,然后使用%s进行打印。”
您不是在进行分配,而是在进行初始化。不,由于不幸的传统原因,您不能使用表达式来初始化整个数组。
此外,数组甚至无法分配。不,这是不可能的。但是,由于只需要使用"%s"
打印它,就可以使用指向<{> {1}} 的指针。
char