下图是我在网上找到关于scanf函数的含义
然后我写了段代码测试
如下:
#include
int main()
{
char a,b,c;
scanf("%c t%c %c",&a,&b,&c);
printf("%c%c%c\n",a,b,c);
return 0;
}
我在scanf函数格式化字符串里面加入了空格字符与非空格字符
按我的理解,我输入"d t e f"(dt之间空一格,ef之间也空一格,te之间空n格)
首先说一下,输出的"d e"第一个字符“d”我能理解,就是d照样输出,t被剔除,但是“te”之间我不是输入了n个空格吗,按照第一幅图第2点定义:“空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符”,不是这里输入的n个空格会被略去吗,为什么这里的n个空格会被输出成第二个字符即空格?