鱼C论坛

 找回密码
 立即注册
查看: 1537|回复: 1

查错

[复制链接]
发表于 2023-11-9 00:22:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>

  2. int count[101];

  3. int main()
  4. {
  5.         while(1)
  6.         {
  7.                 int n;

  8.                 scanf("%d", &n);

  9.                 if(n == -1) break;
  10.                 count[n]++;
  11.         }

  12.         int i, j;

  13.         for(i = 100; i > 0; i--)
  14.         {
  15.                 for (j = 100; j >= 0 ; j--)
  16.                 {
  17.                         if(count[j] == i)
  18.                         {
  19.                                 printf("%d出现了%d次\n", j, i);
  20.                         }
  21.                 }
  22.         }


  23.         return 0;
  24. }
复制代码

哪里有问题,提示i,j  undeclared identifier
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-9 00:23:02 | 显示全部楼层
在代码中,变量i和j未声明。在C语言中,变量必须在使用之前先声明。要解决这个问题,只需在for循环之前声明变量i和j即可。

以下是修复后的代码:

  1. #include <stdio.h>

  2. int count[101];

  3. int main()
  4. {
  5.     int i, j; // 声明变量i和j

  6.     while (1)
  7.     {
  8.         int n;

  9.         scanf("%d", &n);

  10.         if (n == -1)
  11.             break;

  12.         count[n]++;
  13.     }

  14.     for (i = 100; i > 0; i--)
  15.     {
  16.         for (j = 100; j >= 0; j--)
  17.         {
  18.             if (count[j] == i)
  19.             {
  20.                 printf("%d出现了%d次\n", j, i);
  21.             }
  22.         }
  23.     }

  24.     return 0;
  25. }
复制代码


现在,变量i和j已经在使用之前声明,代码应该可以正确编译和运行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-21 14:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表