C语言循环赋值问题?

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:23:17
# include<stdio.h>
int main()
{
char a[10];
int i;
for(i=0;i<10;i++)
{scanf("%c",&a[i]);}
for(i=0;i<10;i++)
{printf("%c",a[i]);}
getch();
return 0;
}

怎么只要输入5个字符 编译器就自动打印着5个字符 也就是说只能输入5个字符 我定义的字符数组时a[10]???

你是不是敲回车键了,每输一个字母。
记住回车键也就一个字符。。。
所以!!!! 空格也是字符。
所以你直接输10个字母。然后回车。。。就可以了存十个字母

记住getch在你输入字符的时候不用按回车键,回车也算一个字符,也就是你输入五个数,分别按了五个回车!

很简单 你时按回车输入的吧
回车也会被当做一个字符 然后被你输入进去
a[10]的内存是这样子
a<回车>b<回车>c<回车>d<回车>e<回车>