练习2-2 在不使用运算符&&或者||的条件下编写一个与上面的for循环语句等价的循环语句。

复制代码
 1 /*for(i = 0; i < lim - 1 && ((c = getchar()) != '\n' && c != EOF; ++i)
 2 s[i] = c*/
 3 
 4 
 5 while(i < lim - 1)
 6 {
 7     while((c = getchar()) != EOF)
 8     {
 9         while((c = getchar() != '\n')
10               ++i;
11               s[i] = c;
12     }
13 }
复制代码

用while来做!

 

书上答案

复制代码
 1 enum loop {NO, YES};
 2 enum loop okloop = YES;
 3 i = 0;
 4 while(okloop == YES)
 5 if(i >= lim - 1)    /* outside of valid range ?*/
 6 okloop = NO;
 7 else if ((c = getchar()) == '\n')
 8     okloop = NO;
 9 else if(c == EOF)/*end of file ?*/
10 okloop = NO;
11 else{s[i] = c
12     ++i
13 }
复制代码

目测差不多!

还是我的答案不行?

posted @   _Jango  阅读(724)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示