c中的问题有一个空字符常量错误

我在 C 中遇到了问题。控制台说有一个空字符常量。这是一个知道一个人有多少本书的小程序。这是代码:

int main ()
{
    int nb_books;
    printf("How much books have you got?");
    scanf("%d",&nb_books);
    printf("You have %d book%c!n",nb_books, (nb_books==0||nb_books==1)?'':'s');
    return 0;
}

问题是%cs当有几本书时,我想放一个。就这样!

回答

没有“空”字符,所以''是非法的。

使用%s代替%c,然后您可以使用长度为 0 的字符串,例如:

printf("You have %d book%s!n", nb_books, (nb_books==1)?"":"s");

(你应该输出s“0 book s ”)

  • For the code golfers, `"s" + (nb_books == 1)`

以上是c中的问题有一个空字符常量错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>