为什么我用指针比较两个数大小这个出来的结果第二个会不一样呢?
答案:4 悬赏:30
解决时间 2021-03-22 14:38
- 提问者网友:一人心
- 2021-03-22 03:27
#include
int main()
{ void swap (int *p1,int *p2);
int a,b;
int*pointer_1,*pointer_2;
printf("please enter a and b:");
scanf("%d,%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a printf("Output:\nmax=%d,min=%d\n",a,b);
return 0;
}
void swap (int *p1,int *p2)
{
int temp;
*p1=temp;
*p1=*p2;
*p2=temp;
}
最佳答案
- 二级知识专家网友:我们只是兮以城空
- 2021-03-22 04:42
void swap (int *p1,int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
全部回答
- 1楼网友:走,耍流氓去
- 2021-03-22 06:17
void swap (int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}交换函数写错了
- 2楼网友:兮沫♡晨曦
- 2021-03-22 05:40
你只交换了地址,并没有交换地址指向的值。当然相当于什么也没做。改成
int q;
if(*i>*j)
{q=*i;*i=*j;*j=q;}
if(*j>*p)
{q=*j;*j=*p;*p=q;}
if(*i>*j)
{q=*i;*i=*j;*j=q;}
或者在c++中可以传递引用。
- 3楼网友:哥在撩妹请勿打扰
- 2021-03-22 05:30
两个小问题,看注释
#include
void swap (int *p1,int *p2);
int main()
{
int a,b;
int*pointer_1,*pointer_2;
printf("please enter a and b:");
scanf("%d,%d",&a,&b); // 注意这里输入必须是两个数之间输入逗号,如:3,4
pointer_1=&a;
pointer_2=&b;
if(a
我要举报
大家都在看
推荐资讯