在 C 中使用空字符

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

Ted*_*gmo 6

可以使用不可打印的字符,但它们最终可能看起来像其他字符。

你最好使用字符串:

printf("There %s %d neighbor%s\n",
 nbNeighbors != 1 ? "are" : "is",
 nbNeighbors,
 nbNeighbors != 1 ? "s" : ""
);
Run Code Online (Sandbox Code Playgroud)