zxc++ 发表于 2023-2-18 14:31:04

震惊一整年!if else本是同根生,else却做出这种事…………

这段代码报错 else匹配不到if,要怎么弄啊,检查了格式没有问题啊?

#include <stdio.h>
int main()
{
    char i;
    printf("请输入一个字母(大写或小写):");
    scanf("%c", &i);

    if (i<='Z' && 'A'<=i );//<><//
    {
      i=i+32;
    }
    else if (ch >= 'a' && ch <= 'z')
    {
      i=i-32;
      printf("该字母的大写是%c",i);
    }
   

    return 0;
}

zxc++ 发表于 2023-2-18 14:31:45

{:10_266:}望大佬指教。

jackz007 发表于 2023-2-18 14:42:36

本帖最后由 jackz007 于 2023-2-18 14:45 编辑

if (i<='Z' && 'A'<=i );   // 此句去掉分号即可
      修改后的代码
#include <stdio.h>
int main()
{
    char i;
    printf("请输入一个字母(大写或小写):");
    scanf("%c", &i);

    if (i<='Z' && 'A'<=i )
    {
      i=i+32;
    }
    else if (i >= 'a' && i <= 'z')   // ch 必须改为 i
    {
      i=i-32;
      printf("该字母的大写是%c",i);
    }
   

    return 0;
}

isdkz 发表于 2023-2-18 14:44:42

#include <stdio.h>
int main()
{
    char i;
    printf("请输入一个字母(大写或小写):");
    scanf("%c", &i);

    if (i<='Z' && 'A'<=i ) //<><//                      这里打多了一个 ;
    {
      i=i+32;
    }
    else if (i >= 'a' && i <= 'z')                            // 这里把 ch 改成 i
    {
      i=i-32;
      printf("该字母的大写是%c",i);
    }
   

    return 0;
}

一点沙 发表于 2023-2-18 14:44:46

是因为第八行加分号了吧,把分号去掉应该就行了

ExiaGN001 发表于 2023-2-18 14:52:06

本帖最后由 ExiaGN001 于 2023-2-18 14:53 编辑

明天来UC部上班(bushi
#include <stdio.h>
int main()
{
    char i;
    printf("请输入一个字母(大写或小写):");
    scanf("%c", &i);

    if (i<='Z' && 'A'<=i );//这个分号
    {
      i=i+32;
    }
    else if (ch >= 'a' && ch <= 'z')
    {
      i=i-32;
      printf("该字母的大写是%c",i);
    }
   

    return 0;
}
就是这个分号的锅,格式整理后就是
#include <stdio.h>
int main()
{
    char i;
    printf("请输入一个字母(大写或小写):");
    scanf("%c", &i);

    if (i<='Z' && 'A'<=i )
        ;//if判断体
    {
      i=i+32;
    }

    else if (ch >= 'a' && ch <= 'z')
    {
      i=i-32;
      printf("该字母的大写是%c",i);
    }
   

    return 0;
}
if/else中隔了一段代码块,当然报错,去掉就好
(编程一定要细心

桃花飞舞 发表于 2023-2-18 17:30:50

竟然把我看蒙了
页: [1]
查看完整版本: 震惊一整年!if else本是同根生,else却做出这种事…………