小羊爱吃小草 发表于 2023-11-9 00:22:40

查错

#include<stdio.h>

int count;

int main()
{
        while(1)
        {
                int n;

                scanf("%d", &n);

                if(n == -1) break;
                count++;
        }

        int i, j;

        for(i = 100; i > 0; i--)
        {
                for (j = 100; j >= 0 ; j--)
                {
                        if(count == i)
                        {
                                printf("%d出现了%d次\n", j, i);
                        }
                }
        }


        return 0;
}

哪里有问题,提示i,jundeclared identifier

isdkz 发表于 2023-11-9 00:23:02

在代码中,变量i和j未声明。在C语言中,变量必须在使用之前先声明。要解决这个问题,只需在for循环之前声明变量i和j即可。

以下是修复后的代码:

#include <stdio.h>

int count;

int main()
{
    int i, j; // 声明变量i和j

    while (1)
    {
      int n;

      scanf("%d", &n);

      if (n == -1)
            break;

      count++;
    }

    for (i = 100; i > 0; i--)
    {
      for (j = 100; j >= 0; j--)
      {
            if (count == i)
            {
                printf("%d出现了%d次\n", j, i);
            }
      }
    }

    return 0;
}


现在,变量i和j已经在使用之前声明,代码应该可以正确编译和运行了。
页: [1]
查看完整版本: 查错