笔者昨晚突然冒出了个想法:我能不能控制一个字符数组元素的大小呢?于是我立马打下了如下的代码,通过键盘输入来控制一个字符数组的元素大小:
int b;
scanf("%d",&b);
char a[b];
scanf("%s",a);
printf("你的战斗力级别为%s",a);
最后果然没有出错,但是出现了一个奇怪的现象:
只能这样输入才能获得我想要的结果。
后面终于得知:所有的输入比如scanf fgets getchar 等如果之间没有输出,那么它们读取数据都是共用同一个输入缓冲区。以空格符来划分,将划分的内容分别输入到对应指定的变量或字符数组中。 就像切一个蛋糕。