Le *_*yme 1 c printf char ternary
我想使用三元运算符和空字符 '' 来正确拼写单词“neightbor”(带或不带“s”)。
我想做以下事情:
printf("There is %d neightbor%c\n", nbNeighbors, (nbNeighbors>1)?'s':'');
Run Code Online (Sandbox Code Playgroud)
显然,我得到了一个arrorerror: empty character constant
我怎样才能使用这个技巧来获得正确的拼写printf?
您可以使用不可打印的字符,但它们最终可能看起来像其他字符。
你最好使用字符串:
printf("There %s %d neighbor%s\n",
nbNeighbors != 1 ? "are" : "is",
nbNeighbors,
nbNeighbors != 1 ? "s" : ""
);
Run Code Online (Sandbox Code Playgroud)