august 发表于 2007-3-25 22:33:09

数组的输出问题

这是将数组C的前n个元素赋给数组b
#include"stdio.h"
main()
{
void str(char c[],char b[],int n);
int n;
char c[]="fuckyouforever";
char b;
printf("\nplease enter input the words number:\n");
scanf("%d",&n);
str(c,b,n);
}
void str(char c[],char b[],int n)
{
int i;
for(i=0;i<n;i++)
{
b=c;
}b='\0';----------->为什么这里写成b会导致输出答案后,再输出一个不相关的字符或符号呢?
printf("the is words is %s\n",b);
}

Saiholmes 发表于 2007-3-25 22:54:00

把未初始化的元素都填上\\0,这样就不会了

初级 发表于 2007-4-3 08:02:48

因为字符串是以 \\0 作为结束标志的,而不是你所想的能用字符个数来限制的。
页: [1]
查看完整版本: 数组的输出问题