新手遇到一个c的小问题,求解惑!!!
这样一个小程序:
char s[10];
int i;
for(i=0;i<10;i++)
scanf("%c",&s[i]);
int m=strlen(s);
printf("%d",m);
这样一个程序最后输出m发觉不是10,我用puts(s)输出后发现,在字符串后面还有一些乱码;但是后来不用字符输入,而是用字符串输入scanf("%s",s);这样就对了!
所以有点不明白为什么会出现这样的问题,难道就是因为字符输入最后没有'\0'的缘故么,但是我已经输入10个字符,怎么还有空间呢!
因为刚学c,所以遇到的麻烦挺多的,麻烦大神解答下!