在非main函数中定义并从键盘输入数组,在main函数中调用该函数后,输出,为何会出现l乱码?
#include<stdio.h>char *hanshu(void);
int main(void)
{
fputs(hanshu(),stdout);
return 0;
}char *hanshu()
{
char a[20];
return fgets(a, 20, stdin);
}
输出前几个字符还正常,到后面就出现乱码,如果把定义的数组挪到main函数中,像这样
#include<stdio.h>
char *hanshu(char*);
int main(void)
{
char a[20];
fputs(hanshu(a),stdout);
return 0;
}char *hanshu(char*a)
{
return fgets(a, 20, stdin);
}
输出就没问题,求高手解答