#include void swap(char *a,char *b){ char *t;t=a;a=b;b=t;}main(){ char i=3,j=5,*p=&i,*q=&j;swap(p,q);printf("%d %d\n",i,j);}(1)printf("%d %d\n",i,j);改为printf(%d %d\n“,*p,*q); 结果一样,同样是:3 5(2)定义为char,没有错误,只

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 19:38:36

#include void swap(char *a,char *b){ char *t;t=a;a=b;b=t;}main(){ char i=3,j=5,*p=&i,*q=&j;swap(p,q);printf("%d %d\n",i,j);}(1)printf("%d %d\n",i,j);改为printf(%d %d\n“,*p,*q); 结果一样,同样是:3 5(2)定义为char,没有错误,只
#include
void swap(char *a,char *b)
{ char *t;
t=a;a=b;b=t;
}
main()
{ char i=3,j=5,*p=&i,*q=&j;
swap(p,q);
printf("%d %d\n",i,j);
}
(1)printf("%d %d\n",i,j);改为printf(%d %d\n“,*p,*q); 结果一样,同样是:3 5
(2)定义为char,没有错误,只是为了节约内存地址,改为int型,结果也一样,同样是:3 5
(3)该程序结果是在tc 2.0 、tc 3.0、vc++6.0下运行的结果
(4)警告(2条):指针转换后指向其它类型在 swap 函数中
警告(2条):指针转换后指向其它类型在 main 函数中

#include void swap(char *a,char *b){ char *t;t=a;a=b;b=t;}main(){ char i=3,j=5,*p=&i,*q=&j;swap(p,q);printf("%d %d\n",i,j);}(1)printf("%d %d\n",i,j);改为printf(%d %d\n“,*p,*q); 结果一样,同样是:3 5(2)定义为char,没有错误,只
你这个swap只是把a和b所指向的方向变了一下嘛,
你要明确你要做的到底是什么,是a和b所指向地址的内容?那你就去交换内容!
#include
void swap(char *a,char *b)
{ char t;
t=*a;*a=*b;*b=t; //*加指针变量名:取内容.这一步也就是将a、b所指向的地址的内容改变,这才是你要做的.
}
main()
{ char i=3,j=5,*p=&i,*q=&j;
swap(p,q);
printf("%d %d\n",i,j);
}