C語言拷貝函式實現練習

2021-09-18 00:00:04 字數 1490 閱讀 2292

總時間限制: 

1000ms

記憶體限制: 

65536kb

// 在此處補充你的**
描述

程式填空,使得程式按要求輸出

#include using namespace std;

void memcpy( void * src, void * dest, int size)

void print(int * p,int size)

int main()

; memcpy(a,b,sizeof(a));

print(b,n);

int c[10] = ;

memcpy(c,c+5,5*sizeof(int)); //將c的前一半拷貝到後一半

print(c,10);

char s[10] = "123456789";

memcpy(s+2,s+4,5); //將s[2]開始的5個字元拷貝到s[4]開始的地方

cout << s << endl;

char s1[10] = "123456789";

memcpy(s1+5,s1+1,4); //將s1[5]開始的4個字元拷貝到s1[1]開始的地方

cout << s1 << endl;

return 0;

}

輸入

第一行是整數n (1<=n<=10)

第二行是 n個整數

輸出先原序輸出輸入資料中的n個整數

然後再輸出:

1,2,3,4,5,1,2,3,4,5,

123434567

167896789

樣例輸入

10

15 25 35 45 55 65 75 85 95 105

樣例輸出

15,25,35,45,55,65,75,85,95,105,

1,2,3,4,5,1,2,3,4,5,

123434567

167896789

這裡傳入的是void*型別的指標,需要強轉為char* 型別的指標

第乙個拷貝案例

int c[10] = ;

memcpy(c,c+5,5*sizeof(int)); //將c的前一半拷貝到後一半

不存在記憶體重疊問題,可以直接順序拷貝

char s[10] = "123456789";

memcpy(s+2,s+4,5); //將s[2]開始的5個字元拷貝到s[4]開始的地方

存在記憶體重疊,需要從後向前拷貝

char s1[10] = "123456789";

memcpy(s1+5,s1+1,4);

//將s1[5]開始的4個字元拷貝到s1[1]開始的地方

不存在記憶體重疊

總的處理方法

void memcpy(void * src, void * dest, int size)

} else

}

C 拷貝建構函式練習

總時間限制 1000ms 記憶體限制 65536kb 在此處補充你的 描述 程式填空,使其輸出9 22 5 include using namespace std class sample void printanddouble sample o int main 輸入無輸出 9225樣例輸入 no...

C語言函式練習2

1.auto自動變數,函式凡是未知儲存型別說明的變數均為自動變數。也就是說,區域性變數在預設情況下是自動變數。呼叫時就存在,退出時就消失。2.register暫存器變數,當乙個變數頻繁永定時,必須要反覆訪問記憶體,從而耗費大量的訪問時間,為此,定義暫存器變數存放在cpu的暫存器中。對於迴圈次數較多的...

C語言實現按位拷貝

在程式開發過程中,我們經常會用到按位拷貝一串二進位制數,在此提供乙個按位拷貝的函式給大家參考,函式原始碼如下 1 define char t char 2 define uint8 t unsigned char 3 define int8 t signed char 4 define uint16...