| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:两者的比较到底有什么差别?
只看楼主 加入收藏
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
收藏
已结贴  问题点数:6 回复次数:5 
两者的比较到底有什么差别?
这个程序有问题,但是不知道哪里错了?
#include<stdio.h>
int main()
{void swap(int ,int );
int a[3],i;
int *p,*q,*r;
for(i=0;i<3;i++)
scanf("%d",*(a+i));

p=&a[0];
q=&a[1];
r=&a[2];

if(a[0]>a[1]) swap(p,q);
if(a[0]>a[2]) swap(p,r);
if(a[1]>a[2]) swap(q,r);

for(i=0;i<3;i++)
printf("%d",a[i]);
return 0;
}
void swap(int *p,int *q)
{int t;
t=*p;*p=*q;*q=t;
}
上边的程序是我根据下边的正确的程序改写的,想利用数组,但是上方程序总是出问题?请问大神到底有什么问题?
#include <stdio.h>
int main()
{ void swap(int *p1,int *p2);
 int n1,n2,n3;
 int *p1,*p2,*p3;
 printf("input three integer n1,n2,n3:");
 scanf("%d,%d,%d",&n1,&n2,&n3);
 p1=&n1;
 p2=&n2;
 p3=&n3;
 if(n1>n2) swap(p1,p2);
 if(n1>n3) swap(p1,p3);
 if(n2>n3) swap(p2,p3);
 printf("Now,the order is:%d,%d,%d\n",n1,n2,n3);  /*   n1,n2,n3可以改成*p1,*p2,*p3   */
 return 0;
 }
 void swap(int *p1,int *p2)     
  {int p;
   p=*p1; *p1=*p2; *p2=p;
  }
搜索更多相关主题的帖子: include return 
2017-01-24 21:40
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:2 
scanf("%d",(a+i));

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-01-24 21:48
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
收藏
得分:0 
回复 2楼 forever74
我试了,不是这个问题
2017-01-24 21:53
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
void swap(int ,int );
void swap(int *,int *);
还有二楼所说的也是一个问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-24 21:59
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:2 
程序代码:
#include<stdio.h>
int main()
{void swap(int *p,int *q);         //与下面的自定义函数格式一致 
int a[3],i;
int *p,*q,*r;
for(i=0;i<3;i++)
scanf("%d",(a+i));                 //地址 

p=&a[0];
q=&a[1];
r=&a[2];

if(a[0]>a[1]) swap(p,q);
if(a[0]>a[2]) swap(p,r);
if(a[1]>a[2]) swap(q,r);

for(i=0;i<3;i++)
printf("%d",a[i]);
return 0;
}
void swap(int *p,int *q)
{int t;
t=*p;*p=*q;*q=t;
}

早知做人那么辛苦!  当初不应该下凡
2017-01-24 22:02
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
收藏
得分:0 
回复 5楼 炎天
多谢
2017-01-25 15:41
快速回复:两者的比较到底有什么差别?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015869 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved