#include <stdio.h>
int main(void)
{
int i = 0;
char a[20];
while((a[i++]=getchar())!='\n');
printf("%s",a);
return 0;
}
用这种方式输出字符之后,输出字符的后面总是带着几个其他的字符,这是怎么回事?
#include <stdio.h>
int main(void)
{
int i = 0;
char a[20]=" "; //在这里,给a附空值,否则,后面的数组a如果没有被赋值,系统会随机赋值
while((a[i++]=getchar())!='\n');
printf("%s\n",a);
return 0;
}
printf()这个函数是按碰到'/0'才停止输出的,所以要最加/'0',不加就会输出多于的东西