标题:关于while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF)求助 ...
只看楼主
Dealise
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-15
结帖率:0
已结贴  问题点数:20 回复次数:1 
关于while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF)求助
论坛的各位大神谁能给我解释一下这个代码啊
#include <stdio.h>
 int main()
 {
 char a,b,c,d,x,y,z;
       while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF)
       {
         x=a<b?a:b;   
         x=x<c?x:c;
         z=a>b?a:b;
         z=z>c?z:c;
         y=a+b+c-x-z;
         printf("%c %c %c\n",x,y,z);
       }
 }
搜索更多相关主题的帖子: include 
2016-10-15 20:50
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
得分:20 
这个循环是判断输入是否为文件结束符EOF在stdio里是宏定义#define EOF -1。文件结束符输入是Ctrl+Z,也就是你没有输入文件结束符,这个循环就一直不退出。
那个x = a < b ? a : b;的意思是,如果a < b,那么x = a,否则x = b,char类型比大小比的是acill码的那个值比如a是97,b是98,运算也是按acill码值算,算出来再转换成相应的字符。下面几个同理。
2016-10-15 21:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469828-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.116664 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved