鱼C论坛

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

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

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

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

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

x
结果为什么会多出一个b
#include <stdio.h>
int main()
{
        char i;
        while ((i=getchar())!='\n')
        {
        if((i<123&&i>96)||(i>=65&&i<91))    //判断是否为字母; 
        {
        if (i>118&&i<=122)    //判断是否为x,y,z; 
        {i-=23;
                printf("%c",i);
        }
        else if (i>86&&i<91)  //判断是否为X,Y,Z; 
        {i-=23;
                printf("%c",i);
        }
        else i+=3;            //处x,y,z,X,Y,Z以外字母偏移3; 
        printf("%c",i);
        }
        else         printf("%c",i);        //输出字母以外的字符; 
        }

        }

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 03:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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