|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么会出错呀?
- #include <stdio.h>
- int main()
- {
- int a[3][3] = {[0][0] = 1; [1][1] = 2; [2][2] = 3};
- int i, j;
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < 3; j++)
- {
- printf("%d ", a[i][j]);
- }
- printf("\n");
- }
-
- return 0;
复制代码
你的代码中出现了语法错误。在C语言中,初始化二维数组时不能使用类似于 [0][0] = 1; [1][1] = 2; [2][2] = 3的写法。
要正确初始化二维数组,你可以使用以下两种方法:
1. 使用嵌套的花括号来初始化数组的每个元素:
- int a[3][3] = {
- {1, 0, 0},
- {0, 2, 0},
- {0, 0, 3}
- };
复制代码
2. 分行初始化每个元素:
- int a[3][3] = {
- [0][0] = 1,
- [1][1] = 2,
- [2][2] = 3
- };
复制代码
修正后的代码如下所示:
- #include <stdio.h>
- int main(){
- int a[3][3] = {
- {1, 0, 0},
- {0, 2, 0},
- {0, 0, 3}
- };
-
- int i, j;
- for (i = 0; i < 3; i++){
- for (j = 0; j < 3; j++){
- printf("%d ", a[ i][j]);
- }
- printf("\n");
- }
-
- return 0;
- }
复制代码
这样就能正确地初始化并打印出二维数组的值了。如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
|
|