做个开心的码农 发表于 2024-3-19 13:52:11

C语言数组

#include <stdio.h>

int main()
{
    int s = {1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3};
    int c = {0};
    int i;

    for (i = 0; i < 12; i++)
      c]++;
   

    for (i = 0; i < 5; i++)
      printf("%d", i, c);
    printf("\n");
   

    return 0;
}
运行的结果

FishC 发表于 2024-3-19 13:52:26

这段代码有几个问题。首先,你不能在声明变量时使用花括号初始化整型变量。正确的写法是将花括号内的值逐个赋给数组元素,或者在声明数组时直接用花括号括起来赋值。

其次,在第一个for循环中,你应该使用s而不是s作为下标来访问数组元素。另外,你应该将c]++放在循环体内,而不是循环条件后面的花括号中。

最后,在第二个for循环中,printf函数的格式字符串中使用了%d两次,但却只传入了i一个参数。正确的写法应该是printf("%d", c)。

下面是修复后的代码:

#include <stdio.h>

int main()
{
    int s[] = {1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3};
    int c = {0};
    int i;

    for (i = 0; i < 12; i++)
      c]++;
   

    for (i = 0; i < 5; i++)
      printf("%d ", c);
    printf("\n");
   

    return 0;
}

这样,程序将会输出每个数字出现的次数。希望对你有帮助!

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