void swap1(int c0[],int c1[]) { int t; t=c0[0];c0[0]=c1[0];c1[0]=t; } void swap2(int *c0,int *c1) {void swap1(int c0[],int c1[]){ int t;t=c0[0];c0[0]=c1[0];c1[0]=t;}void swap2(int *c0,int *c1){int t;t=*c0;*c0=*c1;*c1=t;}void main(){int a[2]={3,5},b[

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 16:29:28
void swap1(int c0[],int c1[]) { int t; t=c0[0];c0[0]=c1[0];c1[0]=t; } void swap2(int *c0,int *c1) {void swap1(int c0[],int c1[]){ int  t;t=c0[0];c0[0]=c1[0];c1[0]=t;}void swap2(int *c0,int *c1){int t;t=*c0;*c0=*c1;*c1=t;}void main(){int a[2]={3,5},b[
xTNA~kp^>B_r1iE)Qj !@*]SRAcVcefv+_g 4Eo;w'}|a^XHan:@'&`8t #Ӊz0(`z,!pnZ^G)(!3c3 {{7[HDl5d4#5(DkTB MLKyBTT_S v;YdilJqjJ-"؃yPϓ$!FS>4 qOs-uuS?k7,LF{]/ Nfɭ98Lck]IEs3{`zy|..,NIhMmQ7~yǢפ/s4x&VN ]i4ͅ٫hb2\)N?kyK B67406dM2AɕɰÝ7I}!qY܄T2_ĝ6H'p1,wJpE,?7y{0R3y O%Vz }F.Z"GٿYz!s" F&2Y.

void swap1(int c0[],int c1[]) { int t; t=c0[0];c0[0]=c1[0];c1[0]=t; } void swap2(int *c0,int *c1) {void swap1(int c0[],int c1[]){ int t;t=c0[0];c0[0]=c1[0];c1[0]=t;}void swap2(int *c0,int *c1){int t;t=*c0;*c0=*c1;*c1=t;}void main(){int a[2]={3,5},b[
void swap1(int c0[],int c1[]) { int t; t=c0[0];c0[0]=c1[0];c1[0]=t; } void swap2(int *c0,int *c1) {
void swap1(int c0[],int c1[])
{ int t;
t=c0[0];c0[0]=c1[0];c1[0]=t;
}
void swap2(int *c0,int *c1)
{int t;
t=*c0;*c0=*c1;*c1=t;
}
void main()
{int a[2]={3,5},b[2]={3,5};
swap1(a,a-1);swap2(&b[0],&b[1]);
printf("%d %d %d\n",a[0],a[1],b[0],b[1]);
}
求输出结果,详细解及思路

void swap1(int c0[],int c1[]) { int t; t=c0[0];c0[0]=c1[0];c1[0]=t; } void swap2(int *c0,int *c1) {void swap1(int c0[],int c1[]){ int t;t=c0[0];c0[0]=c1[0];c1[0]=t;}void swap2(int *c0,int *c1){int t;t=*c0;*c0=*c1;*c1=t;}void main(){int a[2]={3,5},b[
首先 数组名是个地址 & 取地址符
存储在内存中是用栈的方式 一个数组
比如说你 只定义a[2],b[2]两个数组
数据 b[0] b[1] a[0] a[1]
地址 N+1 N+2 N+3 N+4
地址名 b b+1 a a+1
回到题目
void swap1(int c0[],int c1[]) 参数是数组 a a-1 (数组名就是地址)
(注意 a-1 和 b+1 是同一个地址)
数据 3 5 3 5
地址名 a-2 a-1 a a+1
b b+1 b+2 b+3
a[0] 与 (a-1)[0] 交换
变成
数据 3 3 5 5
地址名 a-2 a-1 a a+1
b b+1 b+2 b+3
别以为 名字只有a 就不关 b 什么事了
a[0] 与 (a-1)[0] 交换的意思是 a[0] 与 b[1] 交换
void swap2(int *c0,int *c1) 参数为 地址
数据 3 3
地址 &b[0] &b[1]
b[0] 与 b[1] 交换 还是 3 3 可以换个数据实验
这个程序的可以形象的认为 四个数 a b x y (a[0],a[1],b[0],b[1])
a与y换位 y b x a 再 x 与 a 换位 y b a x