小羊爱吃小草 发表于 2023-11-14 21:02:29

#include <stdio.h>
#include <
int main()
{
void Alphabet(char ch)
{
    while (ch != EOF)
        {
      if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
                {
            if (ch >= 'a' && ch <= 'z')
                        {
                printf("%c 在字母表中的位置是:%d\n", ch, ch - 'a' + 1);
            }
                        else
                        {
                printf("%c 在字母表中的位置是:%d\n", ch, ch - 'A' + 1);
            }
      }
                else
                {
            printf("%c 不是字母\n", ch);
      }
    }

int main
{
        char ch;
        while((ch = getchar()) != EOF)
        {
                Alphabet(ch);
        }

        return 0;
}

系统提示'Alphabet' : local function definitions are illegal
如何修改

isdkz 发表于 2023-11-14 21:02:42

您好,您的代码存在一些语法错误。首先,您在 main 函数中定义了 Alphabet 函数,这是不允许的。其次,您在 #include 语句中未完整包含头文件。最后, main 函数的定义也有错误。以下是您修改后的代码:

#include <stdio.h>

void Alphabet(char ch)
{
    if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
      if (ch >= 'a' && ch <= 'z')
      {
            printf("%c 在字母表中的位置是:%d\n", ch, ch - 'a' + 1);
      }
      else
      {
            printf("%c 在字母表中的位置是:%d\n", ch, ch - 'A' + 1);
      }
    }
    else
    {
      printf("%c 不是字母\n", ch);
    }
}

int main()
{
    char ch;
    while ((ch = getchar()) != EOF)
    {
      Alphabet(ch);
    }

    return 0;
}


这样修改后,您的代码就能够正确编译和执行了。
页: [1]
查看完整版本: