当前位置: 代码迷 >> C语言 >> 菜鸟请教各位达人
  详细解决方案

菜鸟请教各位达人

热度:104   发布时间:2007-01-24 00:36:00.0
菜鸟请教各位达人
#include "stdio.h"
#define M 5
main()
{int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M-1;
while(i {t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;j--;
}
for(i=0;i printf("%d",*(a+i));
}

这是c百例中的一道题,请问是否有错,几个?结果是什么?
********* while(i) 是什么意思*********
----------------解决方案--------------------------------------------------------

服了你了



#include "stdio.h"

#define M 5

main()
{
int a[M] = {1,2,3,4,5};
int i ,j ,t;

i = 0;
j = M-1;
while(j)
{
t = *(a+i);
*(a+i) = *(a+j);
*(a+j) = t;
i++;
j--;
}
for(i = 0;i < M;i++)
printf("%d ",*(a+i));
getch();
}


----------------解决方案--------------------------------------------------------
如二楼的编码规范!
修改一下:
while(j>=2)
{……
……}
逆序输出a[M]

[此贴子已经被作者于2007-1-24 10:27:54编辑过]


----------------解决方案--------------------------------------------------------
我把你的贴子整理了一下.
#include "stdio.h"
#define M 5
void main()
{
int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M-1;
while(i)
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
i++;
j--;
}
for(i=0;i<M;i++)
printf("%d ",*(a+i));
printf("\n");
}
结果只是把数组的元素原样输出而已.
其中while(x)表示,当X不等于零时,执行循环体.
如果不是,就终止当前循环,执行下一个语句.
----------------解决方案--------------------------------------------------------

详解,谢谢!mm,


----------------解决方案--------------------------------------------------------
  相关解决方案