我自己在补充一下。按照自己的想法重新编出来了。基本上没错。只是错在字符串和常量的取舍上。输入字符串就要考虑一下指针结合数组。如是输入整数之类的。就不是很必要了~~
# include "stdio.h"
#define N 10
void main()
{int m,k,q,z,w,x;
char a[N],*p;
p=a;
L1:printf ("please input number:\n");
gets(p);
for (z=0;z<N;z++)
{for (k=0;p[k];k++)
{m=N-k;
if((p[m]>='A'&&p[m]<='Z')||(p[m]>='a'&&p[m]<='z')&&m>=0)
{q=p[m-1];p[m-1]=p[m];p[m]=q;}
}
}
for (w=0;w<N;w++)
{for (x=0;p[x];x++)
{if(p[x]>='0'&&p[x]<='9'&&x<=8)
{q=p[x+1];p[x+1]=p[x];p[x]=q;}
}
}
puts(p);
goto L1;
}
以上重新编译后的程序没有问题~完美运行~~~