字符型数组作为函数参数时的一个问题

2024年12月02日 16:09
有2个网友回答
网友(1):

在循环加入凯迟的时候,下标应该从0开始,而不是1
#include "stdio.h"
void connect(char a[],char b[],char c[])
{
int i,j;
// 这里的i和盯瞎李j都应该从0开始,而不是1
for(i=0;a[i]!='\0';i++)
c[i]=a[i];
for(j=0;b[j]!='\0';j++)
c[i+j]=b[j];
c[i+j]='\0';
return;
}
void main()
{
char a[100],b[100],c[200];
printf("input string1:");
scanf("%s",a);
printf("input string2:");
scanf("神核%s",b);
connect(a,b,c);
printf("%s",c);
}

可以定义长度的
void connect(char a[10],char b[10],char c[10])
这样是可以的

网友(2):

是的,枯巧蔽
声没州明的时候需要长度以分配内宽枝存空间,
只要调用函数的时候数组的长度是确定的就可以了。