给两个字符串按ASCII码排序,将两个字符串合并,并且不保留相同的字符。为啥跑出来的这么奇怪。。。

    xiaoxiao2024-12-23  3

    #include<stdio.h> #include<string.h> char str(char string1[],char sting2[]); int main(void) { char a[50],b[50]; gets(a); gets(b); printf("%s",str(a,b)); }

    char str(char string1[50],char string2[50]) { int n=strlen(string1)+strlen(string2); int i,j; for(i=1;i<n;i++) {

    if(string1[j]<string1[j+1]) { int temp1=string1[j]; string1[j]=string1[j+1]; string1[j+1]=temp1; } for(j=0;j<n-i;j++) if(string2[j]<string2[j+1]) { int temp2=string2[j]; string2[j]=string2[j+1]; string2[j+1]=temp2; } } for(i=0; i<n; i++) { printf("%c",string1[i]); } printf("\n"); for(i=0; i<n; i++) { printf("%c",string2[i]); } printf("\n"); for(i=0; i<50; i++) { if(string1[i]==string1[i+1]) { string1[i+1]=string1[i+2]; } } for(i=0; i<50; i++) { if (string2[i]==string2[i+1]) { string2[i+1]=string2[i+2]; } } strcat(string1,string2); return (*string1);

    }

    为啥这个编译出来这么奇怪

    最新回复(0)