C 二维阵列误差
有人能解决我的问题并告诉我哪里失败了吗? 我在学习,不能再往前走了C 二维阵列误差,c,arrays,multidimensional-array,C,Arrays,Multidimensional Array,有人能解决我的问题并告诉我哪里失败了吗? 我在学习,不能再往前走了 #include<stdio.h> int main() { int i, j; char *caract[][] = { {"Bandeira",1,10}, {"Superior",2,1,1}, {"Pele dura",3,2,2}, {"Arm
#include<stdio.h>
int main()
{
int i, j;
char *caract[][] = { {"Bandeira",1,10},
{"Superior",2,1,1},
{"Pele dura",3,2,2},
{"Armadura",4,2,3},
{"Faca",5,1,1},
{"Espada",6,2,2},
{"Agressao",7,1,1},
{"Ecologico",8,1,1},
{"HeatSeeker",9,1,1},
{"BuildSeeker",10,1,1},
{"walker",11,1,1},
{"Remedio",12,2,1},
{"SecondChance",13,3,0} };
for(i=0; i<13; i++)
{
for(j=0; j<3; i++)
printf("\n%c\n", caract[i][j]);
j=0;
}
}
这不是PHP或javascript,您不能只声明具有多种类型的数组,而期望编译器为您完成这项工作。您必须使用结构来定义每个元素将是什么
#include <stdio.h>
#include<stdio.h>
struct INeedToDoMyOwnHomework
{
const char *string;
int i1;
int i2;
int i3;
};
int main()
{
int i, j;
struct INeedToDoMyOwnHomework thingarray[] = { {"Bandeira",1,10},
{"Superior",2,1,1},
{"Pele dura",3,2,2},
{"Armadura",4,2,3},
{"Faca",5,1,1},
{"Espada",6,2,2},
{"Agressao",7,1,1},
{"Ecologico",8,1,1},
{"HeatSeeker",9,1,1},
{"BuildSeeker",10,1,1},
{"walker",11,1,1},
{"Remedio",12,2,1},
{"SecondChance",13,3,0} };
for(i=0; i<13; i++)
{
printf("\n%s\n", thingarray[i].string);
}
}
每个字符串都应该在s中。我认为你的代码应该是这样的:
#include<stdio.h>
int main()
{
int i, j;
char caract[13][20] = { "Bandeira",
"Superior",
"Pele dura",
"Armadura",
"Faca",
"Espada",
"Agressao",
"Ecologico",
"HeatSeeker",
"BuildSeeker",
"walker",
"Remedio",
"SecondChance"};
for(i=0; i<13; i++)
{
for(j=0; j<3; j++)
printf("\n%c\n", caract[i][j]);
}
return 0;
}
学习C/C++中的二维数组,从您的书或其他地方了解它们是如何工作的。您有两个问题,都与caract声明有关 首先,不能将两个数组维度都保留为空;必须至少指定最外层的尺寸标注:
char *caract[][N] = {...}; // inner dimension determined by number of elements in the initializer
其次,您的初始值设定项与您的caract数组的类型不匹配;您已将其声明为char*的2d数组,但初始值设定项是包含char*和三个整数字段的记录数组 1您尚未指定错误或产生错误的行,2我们不是来为您做作业的,您应该阅读。你的错误是什么?你想对这段代码做什么?为什么不编译它并用调试器运行它,看看会发生什么,然后回答你自己的家庭作业问题?它说:错误:数组类型有不完整的元素类型和David,我已经尝试过做它并设法修复它,但我卡住了,我正在学习,非家庭作业此答案未实现OPs发布代码中的数据。未获取。请解释。OPs问题表示每个条目中有4条数据,一个字符数组指针,加上3个整数。这个答案只针对字符数组,跳过了关于条目应该是指向每个字符数组的指针的部分。是的,我故意这么做,因为他提到这个问题是二维数组错误。这就是我这样回答的原因。