B站在读研究生 发表于 2021-8-10 10:43:22

while循环问题

想实现输入字母输出后序列加3,其他输出原样输出

intch ;
while ( ( ch = getchar() ) != '\n')
    {
      if ('a' <= ch <= 'z' || 'A' <= ch <= 'Z')
      {
            ch = ch + 3;
      }
      else
      {
            ch = ch;
      }
      putchar(ch);
    }
    putchar('\n');

感觉逻辑没有问题,但输出所有文本序列都加了3

桃花飞舞 发表于 2021-8-10 10:50:52

这个不能这样写的!C语言中的比较大小和数学的比较大小是不一样的!
#include <stdio.h>

int main()
{
        int ch;
        while((ch = getchar()) != '\n')
        {
                if((ch >= 'a'&& ch <='z')||(ch >='A' && ch <= 'Z'))
                {
                        ch = ch + 3;
                }
                else
                {
                        ch = ch;
                }
                putchar(ch);
        }
        putchar('\n');
}

万千只cnm 发表于 2021-8-10 10:57:04

'a' <= ch <= 'z'
不能连续比较

B站在读研究生 发表于 2021-8-10 11:01:14

桃花飞舞 发表于 2021-8-10 10:50
这个不能这样写的!C语言中的比较大小和数学的比较大小是不一样的!
#include



有了,感谢感谢
页: [1]
查看完整版本: while循环问题