題目
字串連接,將“acegikm”與“bdfhjlnpq”進行連接
代碼實作
#include <stdio.h>
#define N 20
char arr[N] = {0};
void main()
{
char a[]="acegikm";
char b[]="bdfhjnpq";
int i = 0;
for(i = 0;i < 7;i++)
arr[i] = a[i];
for(i = 0;i < 9;i++)
arr[i+7] = b[i];
for(i = 0;i < N;i++)
printf("%c\n",arr[i]);
}
運行結果

演算法思想
如果要對任意個字串進行連接,可以用一個二維陣列保存目標字串,然后將二維陣列變成一位陣列就實作了任意個字串連接
代碼實作
//實作連接功能
void Connect(char a[M][N],char *b)
{
int i,j;
int k=0;
//將a[M][N]的元素依次賦值給陣列b
for(i=0;i<M;i++)
for(j=0;a[i][j]!='\0';j++)
b[k++]=a[i][j];//使用指標表示*(*(a+i)+j)
b[k]='\0';
}
uj5u.com熱心網友回復:
#include <stdio.h>
#define N 20
char arr[N] = {0};
int main()
{
char a[]="acegikm";
char b[]="bdfhjnpq";
int i = 0;
for(i = 0;i < sizeof(a)-1;i++)
arr[i] = a[i];
for(i = 0;i < sizeof(b);i++)
arr[i+7] = b[i];
#if 0
for(i = 0;i < sizeof(a) + sizeof(b) - 1;i++)
printf("%c\n",arr[i]);
#else
puts(arr);
#endif
}
供參考~
uj5u.com熱心網友回復:
char ch;
int i=0;
cha r* p = a;
while(ch=*p++)
arr[i++] = ch;
p = b;
while(ch=*p++)
arr[i++] = ch;
arr[i] = '\0';
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270027.html
標籤:C語言
上一篇:基于C++的小型公司工資管理系統
