gpt4 book ai didi

C: 数组初始化需要一个大括号括起来的初始化列表——简单代码

转载 作者:太空狗 更新时间:2023-10-29 15:00:04 26 4
gpt4 key购买 nike

我是 C 的完全初学者,我遇到了一个我认为是简单错误的错误。我在网上查找了类似的问题,但找不到我的代码的问题。很少,我不知道是什么问题。

这里是错误:

C:数组初始化需要大括号括起来的初始化列表

这是我的完整代码

#include <stdio.h>

int main() {
char walk[10][10] = { 0 };

for (int row = 0; row < 10; row++) {
for (int col = 0; col < 10; col++) {
walk[row][col] = '.';
printf("%c", walk[row][col]);
}
}

getchar();
return 0;
}

最佳答案

When using char walk[10][10] = { 0 }; I get the compiler error "C: Array initialization requires a brace-enclosed initializer list".

那是你的编译器太过分了。

所讨论的语句是完全合法的 C。它定义了一个 10x10 2-D 数组,名为 walk,其中每个元素(100 个)都是 0

为了符合您的编译器突发奇想,请使用其中之一

char walk[10][10] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0 },  /* ..., */ { 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
char walk[10][10] = { { 0 }, { 0 } };
char walk[10][10] = { { 0 } };
char walk[10][10] = { 0 }; // initial statement wrongly rejected by compiler

更好的(恕我直言)将您的编译器配置为接受合法代码。

godbolt.org accepts your initial code

关于C: 数组初始化需要一个大括号括起来的初始化列表——简单代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54839417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com