鱼C论坛

 找回密码
 立即注册
查看: 1259|回复: 4

求助,为什么结果和我预期不同,好像有bug

[复制链接]
发表于 2020-3-3 14:28:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 magicpower 于 2020-3-3 14:50 编辑

  1 #include <stdio.h>
  2 int main(void)
  3 {
  4         char ch;
  5         int num=0;
  6         while(ch=getchar() && ch != '#')
  7         {
  8                 if(ch == '.')
  9                 {
10                         putchar('!');
11                         num++;
12                 }
13                 else if(ch == '!')
14                 {
15                         putchar(ch);
16                         putchar('!');
17                         num++;
18                 }
19                 else
20                 putchar(ch);
21         }
22         printf("%d",num);
23         return 0;
24 }



当我输入#后没有停止while循环,而且不论我打什么,while里的好像都没有执行,这是为什么,是哪有bug吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-3 14:41:04 | 显示全部楼层
用代码格式发代码,而且代码前面不要有序号
把while循环的ch != '#' 改成
  1. getchar() != '#'
复制代码

试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 14:45:32 From FishC Mobile | 显示全部楼层
qiuyouzhi 发表于 2020-3-3 14:41
用代码格式发代码,而且代码前面不要有序号
把while循环的ch != '#' 改成


谢谢,我已经知道是哪出问题了,逻辑运算符比赋值运算优先级高,所以while永远为true
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 14:49:05 | 显示全部楼层
magicpower 发表于 2020-3-3 14:45
谢谢,我已经知道是哪出问题了,逻辑运算符比赋值运算优先级高,所以while永远为true

嗯嗯,那就把帖子类型设置成已经解决吧
在编辑帖子-标题旁边
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 14:52:39 | 显示全部楼层
        用无缓冲的键盘输入,每按下一个键,无需按下回车键,程序同步获得输入
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int main(void)
  4. {
  5.         char ch                             ;
  6.         int num                             ;
  7.         for(num = 0 ; (ch = getch()) != '#' ; num ++) {
  8.                 if(ch == '\r') printf("\n") ;
  9.                 else putch(ch)              ;
  10.         }
  11.         if(num) printf("\n")                ;
  12.         printf("%d\n" , num)                ;
  13. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-13 04:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表