鱼C论坛

 找回密码
 立即注册
查看: 1614|回复: 1

[已解决]结果为什么会多出一个b

[复制链接]
发表于 2019-12-12 13:54:18 | 显示全部楼层 |阅读模式

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

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

x
结果为什么会多出一个b
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         char i;
  5.         while ((i=getchar())!='\n')
  6.         {
  7.         if((i<123&&i>96)||(i>=65&&i<91))    //判断是否为字母;
  8.         {
  9.         if (i>118&&i<=122)    //判断是否为x,y,z;
  10.         {i-=23;
  11.                 printf("%c",i);
  12.         }
  13.         else if (i>86&&i<91)  //判断是否为X,Y,Z;
  14.         {i-=23;
  15.                 printf("%c",i);
  16.         }
  17.         else i+=3;            //处x,y,z,X,Y,Z以外字母偏移3;
  18.         printf("%c",i);
  19.         }
  20.         else         printf("%c",i);        //输出字母以外的字符;
  21.         }

  22.         }
复制代码


结果:
yanghaiping182;
bbdqjkdlslqj182;
--------------------------------
Process exited after 19.4 seconds with return value 0
请按任意键继续. . .
最佳答案
2019-12-12 14:59:52
因为你的程序中第17和18行的两句应该用{}括起来,这两句同属于else语句块。而你没有将之括起来,所以说遇到xyz或者XYZ都会多打印一遍。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-12 14:59:52 | 显示全部楼层    本楼为最佳答案   
因为你的程序中第17和18行的两句应该用{}括起来,这两句同属于else语句块。而你没有将之括起来,所以说遇到xyz或者XYZ都会多打印一遍。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-15 18:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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