给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新的字符串的首地址作为函数返回值。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
char *fun(char *s)
{
int i, j, k, n;
char *p, *t;
n = strlen(s) + 1;
t = (char*)malloc(n*sizeof(char));
p = (char *)malloc(n*sizeof(char));
j = 0;
k = 0;
for (i = 0;i < n;i++)
{
if (isdigit(s[i]))
{
p[j] = s[i];
j++;
}
else
{
t[k] = s[i];
k++;
}
}
for (i = 0;i < k;i++)
p[j++] = t[i];
p[j + k] = 0;
return p;
}
int main()
{
char s[80];
printf("Please input: ");
scanf("%s",s);
printf("\nThe result is: %s", fun(s));
getchar();
getchar();
return 0;
}