打印不出结果,不是卡在死循环

img

img


输偶数有结果,奇数没有结果
如果把第一个for循环里改成i+=1,则奇偶都无结果,求解答

第68行,循环条件设置问题,修改如下,供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[1000],t;
    int i,j,k;
    gets(str);
    k=strlen(str);
    for(i=0;i< k - 2;i++)  //修改
    {
        for(j = 0;j < k - 2 - i; j++){
            if (j % 2){  //奇数位
                if(str[j]>str[j+2])
                    {t=str[j];str[j]=str[j+2];str[j+2]=t;}
            }
            else{       //偶数位
                if(str[j]<str[j+2])
                    {t=str[j];str[j]=str[j+2];str[j+2]=t;}
           }
        }
    }
    printf("%s",str);
    return 0;
}