| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2132 人关注过本帖
标题:基本指针 问题 三个数大小排列 求改错
只看楼主 加入收藏
nalansbcao
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2010-5-17
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
基本指针 问题 三个数大小排列 求改错
第一种
#include<stdio.h>
void main()  
{ int a,b,c,*p1,*p2,*p3,*p;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(a>b)   
{p1=&b;p2=&a;}  
if(a>c)  
{p1=&c;p3=&a;}  
if(b>c)   
{p2=&c;p3=&b;}  
printf("%d,%d,%d\n",*p1,*p2,*p3);  
}

main()  
{ int a,b,c,*p1,*p2,*p3,t;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(*p1>*p2)   
{t=p1;p1=p2;p2=t;}  
if(*p1>*p3)  
{t=p1;p1=p3;p3=t;}  
if(*p2>*p3)   
{t=p2;p2=p3;p3=t;}  
printf("%d,%d,%d\n",*p1,*p2,*p3);  
}  

main()  
{int a,b,c,*p1,*p2,*p3,t;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(a>b)   
{t=*p1;*p1=*p2;*p2=t;}  
if(a>c)   
{t=*p1;*p1=*p3;*p3=t;}  
if(b>c)  
{t=*p2;*p2=*p3;*p3=t;}  
printf("%d,%d,%d\n",a,b,c);  
}  
得到的 结果 都是乱码???????
  
搜索更多相关主题的帖子: 指针 改错 排列 
2010-06-10 16:04
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:1 
第一种
#include<stdio.h>
void main()  
{ int a,b,c,*p1,*p2,*p3,*p;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(a>b)   
{p1=&b;p2=&a;}  
if(a>c)  
{p1=&c;p3=&a;}  
if(b>c)   
{p2=&c;p3=&b;}  
printf("%d,%d,%d\n",*p1,*p2,*p3);  
}
图片附件: 游客没有浏览图片的权限,请 登录注册

第一种没错吧 有错也是你输入问题  中英字符切换注意
2010-06-10 17:21
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
第二种
#include<stdio.h>
void main()  
 
{ int a,b,c,*p1,*p2,*p3,t;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(*p1>*p2)   
{t=p1;p1=p2;p2=t;}  
if(*p1>*p3)  
{t=p1;p1=p3;p3=t;}  
if(*p2>*p3)   
{t=p2;p2=p3;p3=t;}  
printf("%d,%d,%d\n",*p1,*p2,*
图片附件: 游客没有浏览图片的权限,请 登录注册
3);  
}  
也没错吧
2010-06-10 17:24
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
第三种也都没错 只能说很有可能你输入问题了了
2010-06-10 17:25
xin789
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2010-6-2
收藏
得分:1 
第二个有问题,p1,p2,p3都是指针类型,t是整型,怎么能进行t=p1这样的操作呢,改成t=*p1这样的就对了。
2010-06-10 17:41
方廷
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:47
专家分:176
注 册:2010-6-9
收藏
得分:1 
第一种
//判断语句中:数组中的值没有改变
#include<stdio.h>
void main()  
{ int a,b,c,*p1,*p2,*p3,p;  
scanf("%d,%d,%d",&a,&b,&c);  
p1=&a;p2=&b;p3=&c;  
if(a>b)   
{p=b;b=a;a=p;}  
if(b>c)   
{p=c;c=b;b=p;} /*已求出c的值最大*/
if(a>b)  
{p=b;b=a;a=p;}
   
printf("%d,%d,%d\n",*p1,*p2,*p3);  
}
2010-06-10 17:59
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:1 
scanf("")双引号里最好用空格分开,不要用标点,
如果用空格,那么你输入时可以按空格,也可以按回车
如果用标点,那么你输入时一定要用同样的标点,只有输入完才可以按回车
2010-06-10 18:12
方廷
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:47
专家分:176
注 册:2010-6-9
收藏
得分:0 
7楼太棒了
2010-06-10 18:19
kettle99
Rank: 2
等 级:论坛游民
帖 子:52
专家分:54
注 册:2010-5-25
收藏
得分:1 
第一种明显不对,当输入为3,2,1时,一定不能正确排序
2010-06-10 23:44
快速回复:基本指针 问题 三个数大小排列 求改错
数据加载中...
 
   



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

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