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; }