按什么键退出啊?
#include <stdio.h>
#include <string.h>
int main()
{
char a,b,c,t;
while(scanf("%c%c%c",&a,&b,&c)!=EOF)
{
getchar();
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
printf("%c %c %c\n",a,b,c);
}
return 0;
}
//例如如果是数字按ctrl+z
[解决办法]
while(scanf("%c%c%c",&a,&b,&c)!=EOF)你先看下scanf 的用法和返回值,你这样是死循环的 scanf不可能返回eof
[解决办法]
- C/C++ code
while(scanf("%c%c%c",&a,&b,&c)==3)//楼主改成这个样子
[解决办法]
输入EOF字符,在linux下是输入ctrl + d,而在windows下应该是按ctrl+z吧。
[解决办法]
在linux下是输入ctrl + d,而在windows下应该是按ctrl+z,但你的scanf()无返回值,用一个函数最好查清它的来龙去脉,就像用人一样
[解决办法]
[解决办法]
清空输入缓存区 fflush(stdin);
- C/C++ code
#include <stdio.h>#include <string.h>int main(){ char a,b,c,t; while(scanf("%c %c %c",&a,&b,&c) != EOF) { getchar(); if(a>b){ t=a;a=b;b=t; } if(a>c){ t=a;a=c;c=t; } if(b>c){ t=b;b=c;c=t; } printf(" %c %c %c\n",a,b,c); fflush(stdin); //清空输入缓存区 } return 0;}