请各位帮忙看这程序哪里出问题:
[font=宋体][size=3] 各位朋友,本人有一个问题,向各位请教。[/size][/font][font=宋体][size=3] main()[/size][/font]
[font=宋体][size=3] {[/size][/font]
[font=宋体][size=3] int a[3]*p,i,*t;[/size][/font]
[font=宋体][size=3] p=a;[/size][/font]
[font=宋体][size=3] for(i=0;i<3;i++)[/size][/font]
[font=宋体][size=3] scanf("%d",p+i);[/size][/font]
[font=宋体][size=3] for(i=0;i<3;i++)[/size][/font]
[font=宋体][size=3] if(*p<*(p+i))[/size][/font]
[font=宋体][size=3] { *t=*p;*p=*(p+i);*(p+i)=*t;[/size][/font][font=宋体][size=3]}[/size][/font]
[font=宋体][size=3] for(i=0;i<3;i++)[/size][/font]
[font=宋体][size=3] printf("%d",*(p+i));[/size][/font]
[font=宋体][size=3] }[/size][/font]
[font=宋体][size=3] 为何每次都只有调换两个数呢?请各位帮忙问题出再哪里![/size][/font] 我这里没工具,要不帮你调试哈子。
回复 #1 yniiqpl 的帖子
#include<stdio.h>void main()
{
int a[3],*p,i,b,*t;
p=a;
t=&b;
for(i=0;i<3;i++)
scanf("%d",p+i);
for(i=1;i<3;i++)
if(*p<*(p+i))
{*t=*p;*p=*(p+i);*(p+i)=*t;}
for(i=0;i<3;i++)
printf("%d",*(p+i));
} 不清楚 等高手吧
页:
[1]
