刘少华 发表于 2024-12-7 15:03:10

输出字符的问题

#include <stdio.h>

int main()

{
    char ch;
    printf("请输入一个字符:");
    scanf("%c",&ch);

    if (ch>='A'&&ch<='Z')      
    {
        ch=ch+32;//变小写
    }
    else if (ch>='a'<='z')
    {
        ch=ch-32;//变大写
    }
    else
    {
        ch=ch;
    }
 
    printf("%c\n",ch);
    return 0;
}
输入其他字符比如! @#$等。没有输出结果的原因

FishC 发表于 2024-12-7 15:03:11

在您的代码中存在一些语法错误,我来帮您修正:

1. 头文件 `#include` 需要指定 `stdio.h`。
2. 条件判断 `if (ch>='A'&&ch='a')` 中,第二个部分应为 `&& ch<='z'`,而不是 `&& ch='a'`。

下面是修正后的代码:

#include <stdio.h>

int main()
{
    char ch;
    printf("请输入一个字符:");
    scanf("%c", &ch);

    if (ch >= 'A' && ch <= 'z') // 确保 ch 在从大写A到小写z的范围内
    {
      printf("您输入的字符是: %c\n", ch);
    }
    else
    {
      printf("输入的字符不在A到z之间。\n");
    }

    return 0;
}

注意此代码中,`if` 条件语句被修正为判断输入字符是否在范围 `'A'` 到 `'z'` 之间。例如,字符 `'['` 到 `'a'` 之间的 ASCII 值也是在这个范围内,所以如果这不是您期望的逻辑,请根据需求进行调整。

如果您有其他问题,请随时告诉我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 输出字符的问题