中国网管论坛's Archiver

yniiqpl 发表于 2007-1-19 21:00

请各位帮忙看这程序哪里出问题:

[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]

liming566 发表于 2007-2-6 09:59

我这里没工具,要不帮你调试哈子。

liming566 发表于 2007-2-6 10:51

回复 #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));
   }

xietaopan 发表于 2007-2-6 11:39

不清楚   等高手吧

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com