例如,请找到以下代码
main()
{
int i;
char s[100];
printf("Enter the string \n");
scanf(" %s ",s);
printf("Enter the string\n");
scanf("%d",&i);
printf("%s\n%d\n",s,i);
}
上面代码的输出是
Enter the string
hai
hai
Enter the string
hai
0
它应该接受一行输入,但它也接受第二行。
如果删除了 scanf 中的空间,则输出正确。
谁能解释一下?
当使用与整数(%d)相同时,它不会发生。它发生在字符串上。