#include<stdio.h>
int main(void)
{ int swap(int *p1,int *p2);
int a,b,c;
int *p1,*p2,*p3;
printf("Input three integers a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(a>b) swap(a,b);
if(a>c) swap(a,c);
if(b>c) swap(b,c);
printf("now,the order is:%d,%d,%d\n",a,b,c);
}
swap(int *p1,int *p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=*p1;
}
在gcc 中编译出现段错误!!!
c 编译 出现段错误???
-
- 帖子: 9
- 注册时间: 2008-09-11 1:20
- HuntXu
- 帖子: 5776
- 注册时间: 2007-09-29 3:09
- ws_105
- 帖子: 313
- 注册时间: 2008-10-24 8:02
Re: c 编译 出现段错误???
楼主不看警告信息与错误信息的吗?
你把一个整数赋值给指针,能不错吗? 改为
代码: 全选
if(a>b) swap(a,b);
if(a>c) swap(a,c);
if(b>c) swap(b,c);
代码: 全选
if(a>b) swap(p1, p2);
if(a>c) swap(p1, p3);
if(b>c) swap(p2, p3);
Ubuntu 8.04 @ Intel Pentium D 925 + Intel 945G Chipset + DDR2 1.0G + SATA 160G
http://hi.baidu.com/ws_105
http://hi.baidu.com/ws_105
- HuntXu
- 帖子: 5776
- 注册时间: 2007-09-29 3:09
Re: c 编译 出现段错误???
代码: 全选
#include<stdio.h>
int main(void)
{ int swap(int *p1,int *p2);
int a,b,c;
int *p1,*p2,*p3;
printf("Input three integers a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(a>b) swap(&a,&b);
if(a>c) swap(&a,&c);
if(b>c) swap(&b,&c);
printf("now,the order is:%d,%d,%d\n",a,b,c);
}
swap(int *p1,int *p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}
而且不晓得你main()里的p1,p2,p3用来干嘛的...
HUNT Unfortunately No Talent...
-
- 帖子: 9
- 注册时间: 2008-09-11 1:20
Re: c 编译 出现段错误???
谢谢!!!
-
- 帖子: 2
- 注册时间: 2006-02-27 23:33
Re: c 编译 出现段错误???
这个叫执行出现段错误....
编译啥事没有...
编译啥事没有...