scanf()
#include <stdio.h>
int main()
{
char a[10] = { 0 };
for(int i = 0; i < 10; i++)
{
scanf("%c", &a[i]);
}
printf("%s", a);
}
由上面的图片可以得出scanf();tab键、空格键还有回车键都会算进入(除最后一个回车键外)。
注意这里tab是当一个位置来使用
getchar()
#include <stdio.h>
int main()
{
char a[10];
printf("输入:");
for(int i = 0; i < 10; i++)
{
a[i] = getchar();
}
for(int n = 0; n < 10; n++)
{
putchar(a[n]);
}
}
效果跟上面差不多。
不过getchar是不会在缓冲区中留下回车键,可与上面参照每次输出都会在最后输出一个回车键。
gets()
个人觉得在输出上gets比较麻烦一点,要确保你输出的数不能超出内存开辟的空间,只能用数的方式来确定有些繁琐。
不过它在对大型数组输入的时候不用利用循环来输入,也是很方便的,同时也优化了时间复杂度。
—————————————————————————————————————————————
以上都是个人观点,做这个笔记是为了不用天天带着笔记本。