字符型数组作为函数参数时的一个问题
发布网友
发布时间:2022-04-25 16:49
我来回答
共2个回答
热心网友
时间:2023-10-20 00:44
在循环加入的时候,下标应该从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])
这样是可以的
热心网友
时间:2023-10-20 00:44
是的,
声明的时候需要长度以分配内存空间,
只要调用函数的时候数组的长度是确定的就可以了。