我在 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;
}
Run Code Online (Sandbox Code Playgroud)
问题是%c,s当有几本书时,我想放一个。就这样!
没有“空”字符,所以''是非法的。
使用%s代替%c,然后您可以使用长度为 0 的字符串,例如:
printf("You have %d book%s!\n", nb_books, (nb_books==1)?"":"s");
Run Code Online (Sandbox Code Playgroud)
(你应该输出s“0 book s ”)