深夜求解,被困扰1个多小时了。
程序代码:
/*8.6写一函数,将两个字符串连接起来。*/ #include<stdio.h> #include<string.h> int main(void){ void cat(char x[],char y[],int n,int m); char a[30]; char b[30]; int i; int j; printf("请输入第一个字符串:\n"); gets(a); i=strlen(a); printf("请输入第二个字符串:\n"); gets(b); j=strlen(b); cat(a,b,i,j); printf("将它们连接起来为:\n"); puts(a); return 0; } void cat(char x[30],char y[30],int n,int m){ int i,j; x[n+1]=' '; for(i=n+2,j=0;j<m;i++,j++){ /*我这里思路是想在第一字符串的后面直接通过有效长度的数值将第二个字符串加上去*/ x[i]=y[j]; /*但是结果一直是输出第一字符串,不知道是哪里有问题。个人感觉这个思路应该问题不大吧*/ } x[i]='\0'; }