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;
}
问题是%c,s当有几本书时,我想放一个。就这样!
回答
没有“空”字符,所以''是非法的。
使用%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)`