scanf中的%d和%c加不加空格
为什么%c要加空格而%d不用
为什么%c要加空格
要不要加空格,不是取决于它是不是%c,而是取决于你想不想略过前面的空白字符。你想略过空白字符的话,你就加;不想略过空白字符的话,就不能加。%d %s 等,因为“不略过前面的空白字符”的情况是没存在意义的,所以必然会略过前面的空白字符,那么在它们之前加上空格就是多此一举。
程序代码:#include<stdio.h>
main()
{
long a;
char b,c;
scanf("%d%c%c",&a, &b, &c); //输入“3空e空f”
printf("%c\n",c); //输出变量c为'e'
return 0;
}