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 关注
- 214 浏览
添加回答
举报
0/150
提交
取消