输入一个整数要求逆向输出,例如:输入123,输出321,通过编译,结果是不对.
我只是想用我的思路用指针来实现.不知道我的思路可行不..思考好久没有想出来.请大家指下我的错误在哪,改一下程序就行.//将组数中的数,逆向输出,如:输入1 2 3 输出3 2 1
#include "stdio.h"
#define M 5
int main()
{
int ad[M],i,*k,*m;
void swap(int* a,int* b);
k=ad,m=ad+M-1; //k指向数组首,m指向数组尾.
for(i=0;i<M;i++) //给数组赋值
scanf("%d",k++);
k=ad;
swap(k,m); //交换数组各元素,k指向数组首,m指向数组尾.
while(k<=m) //输出数组
{
printf("%-4d",*k++);
}
return 0;
}
void swap(int* c,int* b)
{
int t;
while(c>b)
{
t=*c;
*c=*b;
*b=t;
c++,b--;
}
}
[[it] 本帖最后由 bianfeng 于 2008-3-24 17:00 编辑 [/it]]
----------------解决方案--------------------------------------------------------
while(c>b)
改成while(c<b)
就对了..疏忽啊
----------------解决方案--------------------------------------------------------
只是这个要求的话strrev就好了
----------------解决方案--------------------------------------------------------