c语言这段为什么不对,没有看出来

#include "stdio.h"

int main()
{
char max,x,y,z;
scanf("%c%c%c",&x,&y,&z);
while( scanf(%c%c%c,&x,&y,&z)!=EOF)
{
if( 'x'>'y' )
if( 'y'>'z')
printf("%c %c %c\n",z,y,x);
else if( 'x'>'z' )
printf("%c %c %c\n",y,z,x);
else printf("%c %c %c\n",y,z,x);
else if( 'y'<'z' )
printf("%c %c %c\n",x,y,z);
else if( 'x'>'z' )
printf("%c %c %c\n",z,x,y);
else printf("%c %c %c\n",x,z,y);
}
}

变量名不需要加单引号,你用字符常量区比较,永远是一个结果,就好像
if (1<2)
永远都是真

变量名不需要加单引号,你用字符常量区比较,永远是一个结果,就好像
if (1<2)
永远都是真

变量名不需要加单引号,你用字符常量区比较,永远是一个结果,就好像
if (1<2)
永远都是真

C语音中,字符之间的比较应该用strcmp(x,y);
你对变量名使用单引号是不对的,如果不定义x,y,z变量,直接使用字母 'x',编译器就能将它转换成ASCII值,即120,这样你这种写法就是对的

if( 'x'>'y' )//改为if(x>y)

你的if把变量上的引号去掉吧,这样就可以了

把变量左右的单引号去掉。。。。。