#include
void v(int *b)
{int z,j,k;
for(j=0;j<3;j++)
{
for(z=0;z<3-j;z++)
if(*(b)>*(b+j))
{k=*(b+j);
*(b+j)=*(b);
*(b)=k;
}
for(j=0;j<3;j++)
printf("%d",*(b+j));
}
}
int main()
{
int x[3],a;
for(a=0;a<3;a++)
scanf("%d",&x[a]);
v(x);
return 0;
}
v()函数修改如下:
void v(int *b)
{int z,j,k;
for (j=0; j<2; j++) {
for (z=0; z<2-j; z++) {
if (*(b+z)>*(b+z+1)) {
k=*(b+z);
*(b+z)=*(b+z+1);
*(b+z+1)=k;
}
}
}
for(j=0;j<3;j++)
printf("%d",*(b+j));
}
楼主,main()函数不要这样用。
以下本人运行通过:
#include
void v(int *b)
{int z,j,k;
for (j=0; j<2; j++) {
for (z=0; z<2-j; z++) {
if (*(b+z)>*(b+z+1)) {
k=*(b+z);
*(b+z)=*(b+z+1);
*(b+z+1)=k;
}
}
}
for(j=0;j<3;j++)
printf("%d",*(b+j));
}
void main()
{
int x[3],a,b,c;
for(a=0;a<3;a++)
scanf("%d",&x[a]);
v(x);
}