一个字符串排序的问题
include"stdio.h"void fun(char *s)
{
int i,j=0,k=0;
char t1[80],t2[80];
for(i=0;s[i]!='\0';i++)
if(s[i]>='0'&&s[i]<='9')
t2[j++]=s[i];
else
t1[k++]=s[i];
t2[j]=0;
t1[k]=0;
for(i=0;i<k;i++)
s[i]=t1[i];
for(i=0;i<j;i++)
s[k+i]=t2[i];
}
main()
{
char s[80]="ba3a54jjsd567sdfffs";
printf("\nThe original string is: %s\n",s);
fun(s);
printf("\nThe result is: %s",s);
} 功能是将字符串所有数字移动后所有非数字字符之后,原来的顺序不变!
比如说ab3cd4de5 就是abcdde345
其中
t2[j]=0;
t1[k]=0;
for(i=0;i<k;i++)
s[i]=t1[i];
for(i=0;i<j;i++)
s[k+i]=t2[i];
不是很懂 头2个赋值语句是什么意思?
第一个循环是输出非数字字符
第二个循环是输出数字字符
请教!