描述的不清楚,是不是將兩個函數的代碼合并?
成都創(chuàng)新互聯公司企業(yè)建站,10年網站建設經驗,專注于網站建設技術,精于網頁設計,有多年建站和網站代運營經驗,設計師為客戶打造網絡企業(yè)風格,提供周到的建站售前咨詢和貼心的售后服務。對于網站制作、網站設計中不同領域進行深入了解和探索,創(chuàng)新互聯在網站建設中充分了解客戶行業(yè)的需求,以靈動的思維在網頁中充分展現,通過對客戶行業(yè)精準市場調研,為客戶提供的解決方案。
如果是的話合并函數A,B的方法就是新建一個函數C
函數類型 C(參數列表)
{
A();
B();
}
然后運行C,如果不是的話,希望能描述的清楚一點
#include stdio.h
#include string.h
void catstring(char *str0, int len0, char *str1, int len1, char *str2, int len2)
{
if (len2 = len0 + len1) {
return;
}
memcpy(str2, str0, len0);
memcpy(str2 + len0, str1, len1);
}
int main()
{
char str0[20] = "Golden";
char str1[20] = "View";
char str2[20] = { 0 };
catstring(str0, strlen(str0), str1, strlen(str1), str2, 20);
printf("str2 = %s\n", str2);
return 0;
}
請采納,謝謝!
創(chuàng)建鏈表的函數有些問題吧
student *p;
student *q=I;
for (j=0;ji;j++)
{
p=(student*)malloc(sizeof(student));
p-next=Null;
q-next=p;
q=p;
}
首先假設合并函數的功能:將兩個兩位數的整數 a、b 合并成一個整數放在 c 中。合并的方
式是:將 a 的十位和個位數依次放在 c 數千位和十位上,b 數的十位和個位數依次放在 c 數的個位和百位上。
實現方法如下:
//兩個數組合并,參考代碼:
#include "stdio.h"
int d=0; //用于記錄數組c的大小,和數組c的輸出類的一些操作
void main()
{
int a[50],b[50],c[100];
int i,j,k; //i表示a數組的大小 j表示b數組的大小 k用于數組的輸出
printf("數組a的輸入,輸入一個數,表明你要輸入多少個數到數組a中\(zhòng)n");
scanf("%d",i);
for(k=0;ki;k++)
scanf("%d",a[k]);
printf("數組b的輸入,輸入一個數,表明你要輸入多少個數到數組b中\(zhòng)n");
scanf("%d",j);
for(k=0;kj;k++)
scanf("%d",b[k]);
void px(int *p,int n); //聲明 排序 冒泡法
px(a,i); //調用
px(b,j); //調用
void prin(int *p,int n); //聲明 數組的輸出函數
prin(a,i);
prin(b,j);
void hb(int *o,int *p,int *q,int m,int n); //聲明 兩個數組的合并函數 前提:這倆個數組必須是排好序的
hb(c,a,b,i,j);
prin(c,d);
}
void px(int *p,int n) //自定義函數 排序 冒泡法
{int i,j,t,leap;
for(i=0;in-1;i++) //外層循環(huán)n-1次,一次循環(huán)沉淀一個數
{
leap=0; //leap作為標記,是否兩數相換
for(j=0;jn-i-1;j++) //內循環(huán)n-i-1次
{
if(p[j]p[j+1]) //比較兩個數
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t; //來兩個數交換
leap=1; //交換了,標記leap=1
}
}
if(leap==0) break; //經歷了一個內for循環(huán),leap==0的話,表明排序成功了,不需要接下來在排序了。
}
}
void prin(int *p,int n) //自定義函數 數組輸出函數
{
int k,sum=0;
for(k=0;kn;k++)
{
printf("%d ",p[k]);
sum++;
if(sum%10==0) printf("\n");
}
printf("\n");
}
void hb(int *o,int *p,int *q,int m,int n) //m為p指向數組的大小 n為q指向數組的大小 指針o指向合并的數組
{
int i=0,j=0,k; //i為p指向數組的大小 j為q指向數組的大小
while(1)
{
if(p[i]q[j])
{
o[d]=p[i];
i++;
d++;
}
else
{
o[d]=q[j];
j++;
d++;
}
if(i==m||j==n) break;
}
if(i==m)
{
for(k=j;kn;k++)
{
o[d]=q[k];
d++;
}
}
if(j==n)
{
for(k=i;km;k++)
{
o[d]=p[k];
d++;
}
}
}