bronya1465124479 2022-10-25 15:46 采纳率: 82.6%
浏览 46
已结题

我想让输入的字母用其在26个英文字母中的其后三个字母代替该字母输出

我想让输入的字母用其在26个英文字母中的其后三个字母代替该字母输入其它字符时不变但是我这个程序为啥再输入数字的时候也往后输出了三位我明明用if限制了有没有人可以教一下谢谢
#include<stdio.h>

int main()
{
char st,x;
int i;

while((st=getchar())!='\n'){
    if('a'<=st<='z'||'A'<=st<='Z'){
    for(i=1;i<=3;i++){
        x=st+i;
        putchar(x);
    }
    }else{
        putchar(st);
    }
    
}    

}

运行结果及报错内容

img

  • 写回答

3条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-10-25 15:53
    关注

    因为这个语法错误 改成 if((st>='a'&&st<='z')||(st>='A'&&st<='Z')) ,按照你这样写是 恒成立的,所以会走if里边,输出对应的后三位

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊