將兩個數組合並c語言
㈠ c語言怎麼合並兩個數組
int main() {
char a[] = "123456";
char b[] = "abcde";
int buflen = strlen(a) + strlen(b);
char *p = (char*)malloc(buflen + 1);
memset(p, 0, buflen);
printf("%d\n", buflen);
strcpy(p, a);
strcat(p, b);
printf("%s\n", p);
free(p);
}
C的數組在創建後不可變得,因此數組合並的思想就是把數組塞到一個足夠大的空間里形成新數組。
上面的函數是比較簡單的合並方法
㈡ 請問如何使用C語言把兩個數組合並在一個數組里
代碼文本:
#include "stdio.h"
int input(int *p,int n){
char i,ch;
for(i=0;i<n;i++){
if((ch=getchar())==' ')
break;
else if(ch>='0' && ch<='9')
ungetc(ch,stdin);
scanf("%d",p+i);
}
return i;
}
int main(int argc,char *argv[]){
int a[21],b[10],i,j,k;
printf("Input array a... ");
i=input(a,10);
printf("and input array b... ");
j=input(b,10);
for(k=0;k<j;a[i++]=b[k++]);
for(j=0;j<i;printf("%d ",a[j++]));
putchar(' ');
return 0;
}
㈢ C語言合並兩個數組
兩個錯誤,三個地方
#include<stdio.h>
#include<string.h>
void main(){
int a, b,f, g;char c[50], d[50], e[100];
gets(c);
for(a=0;c[a]!='