请问为何函数传值失败呢?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char change(char s[]){
int n=0,m=0,i;
int x;
x=strlen(s);
for(i=0;i<=x;i++){
if(s[i]=='a') n++;
else s[m++]=s[i];
}
while(n--) s[m++]='a';
return s;
}
int main(int argc, char *argv[]) {
char s[900],s1;
scanf("%s",&s);
s1=change(s);
printf("%s",s1);
return 0;
}
#include <stdlib.h>
#include <string.h>
char change(char s[]){
int n=0,m=0,i;
int x;
x=strlen(s);
for(i=0;i<=x;i++){
if(s[i]=='a') n++;
else s[m++]=s[i];
}
while(n--) s[m++]='a';
return s;
}
int main(int argc, char *argv[]) {
char s[900],s1;
scanf("%s",&s);
s1=change(s);
printf("%s",s1);
return 0;
}