gpt4 book ai didi

在c中创建一个二维字符数组

转载 作者:行者123 更新时间:2023-12-02 08:32:11 25 4
gpt4 key购买 nike

我想在 C 中创建一个二维字符数组,就像在 php 中一样:

$matrix = array(
array('$','@','*','%','&','#','@','#','#','@'),
array('%','$','@','%','#','%','@','*','&','*'),
array('#','*','&','*','#','@','@','&','%','@'),
array('%','@','*','$','%','&','#','*','@','&'),
array('$','*','&','&','&','@','#','%','*','*'),
array('#','#','@','#','&','%','*','$','#','#'),
array('&','$','$','#','@','#','@','$','%','*'),
array('@','$','$','*','&','$','#','*','#','*'),
array('%','$','*','@','&','@','&','#','#','#'),
array('#','@','%','*','#','&','#','$','%','#')
);

我试着写下这段代码:

int size = 10;
char matrix[size][size] = {
{'$','@','*','%','&','#','@','#','#','@'},
{'%','$','@','%','#','%','@','*','&','*'},
{'#','*','&','*','#','@','@','&','%','@'},
{'%','@','*','$','%','&','#','*','@','&'},
{'$','*','&','&','&','@','#','%','*','*'},
{'#','#','@','#','&','%','*','$','#','#'},
{'&','$','$','#','@','#','@','$','%','*'},
{'@','$','$','*','&','$','#','*','#','*'},
{'%','$','*','@','&','@','&','#','#','#'},
{'#','@','%','*','#','&','#','$','%','#'}
};

我是 c 的新手,所以我不太了解 c 中二维数组的概念。但由于某种原因,上面的代码给出了错误。请帮忙。

最佳答案

这是因为 C 编译器认为您正在尝试初始化一个长度在运行时确定的数组,即使您在编译时提供了大小 10

int size= 10 替换为 #define SIZE 10 将解决此问题:

#define SIZE 10
...
char matrix[SIZE][SIZE] = {
{'$','@','*','%','&','#','@','#','#','@'},
{'%','$','@','%','#','%','@','*','&','*'},
{'#','*','&','*','#','@','@','&','%','@'},
{'%','@','*','$','%','&','#','*','@','&'},
{'$','*','&','&','&','@','#','%','*','*'},
{'#','#','@','#','&','%','*','$','#','#'},
{'&','$','$','#','@','#','@','$','%','*'},
{'@','$','$','*','&','$','#','*','#','*'},
{'%','$','*','@','&','@','&','#','#','#'},
{'#','@','%','*','#','&','#','$','%','#'}
};

Demo.

关于在c中创建一个二维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25474910/

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