Description編寫用來交換兩段連續存儲空間的函數,使得“Append Code”中的main()函數能正確運行。-----------------------------------------------------------------------------編寫一個函數swap_any()用來進行交換:原型:int swap_any(void *s, void *t, unsigned n);功能:前兩個參數(指針s和指針t)分別標記出兩處連續存儲區域的起始地址,交換自s和t中地址開始的連續n個字節。函數的調用格式見“Append Code”。-----------------------------------------------------------------------------Invalid Word(禁用單詞)錯誤:在解決這個題目時,某些關鍵詞是不允許被使用的。如果提交的程序中包含了下列的關鍵詞之一,就會產生這個錯誤。宏定義define被禁用。Input測試數據分4四組,每組占2行,為兩個相互交換的同類型數據。這四組測試數據分別為:2個不超過100個字符的串、2個單字符、2個整數和2個浮點數。Output輸出為4行,將2個同類型的數據交換后輸出,用一個空格分開。Sample Input35353535Sample Output5 35 35 35 3HINT這里可能用到庫函數malloc()和memcpy()。Append Codeappend.c,int main(){int a, b;double x, y;char c, d;char s[1001], t[1001];gets(s);gets(t);swap_any(s, t, sizeof(s));printf("%s %s\n", s, t);c = getchar();getchar();d = getchar();getchar();swap_any(&c, &d, sizeof(char));printf("%c %c\n", c, d);scanf("%d %d", &a, &b);swap_any(&a, &b, sizeof(int));printf("%d %d\n", a, b);scanf("%lf %lf", &x, &y);swap_any(&x, &y, sizeof(double));printf("%lg %lg\n", x, y);}
1 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
1.獲取目標對象的內存大小,申請臨時空間,
2.將一個對象的內存內容復制到臨時空間,
3,將另外的對象內存內容復制到目標對象內存空間,
4,將臨時空間內容復制到另外一個內存空間。
- 1 回答
- 0 關注
- 209 瀏覽
添加回答
舉報
0/150
提交
取消