【发布时间】:2021-03-08 19:55:55
【问题描述】:
Okay so i have this mltidim array filled with these numbers,
我希望在这些位置将它们转换为整数 所以它会是一个 int multidim arrayint intarray[2][5][12]; 关于让转换器解决问题的任何提示?我在这个问题上已经有一段时间了,它 感觉就像我接近了!
char 字符数组[2][5][40] = {
{
{"307,07,33,307,11,44,307,12,31,307,16,10"},
{"308,07,52,308,11,52,308,12,35,308,16,18"},
{"309,07,24,309,11,40,309,12,30,309,16,14"},
{"310,07,15,310,11,38,310,12,36,310,16,27"},
{"311,07,12,311,11,47,311,12,30,311,16,12"}
},
{
{"314,07,12,314,11,34,314,12,27,314,16,52"},
{"315,07,15,315,11,49,315,12,31,315,16,13"},
{"316,07,59,316,11,44,316,12,38,316,16,42"},
{"317,07,52,317,11,41,317,12,30,317,16,12"},
{"318,08,03,318,11,32,318,12,39,318,16,07"}
}
};
这就是我尝试转换的方式,但它甚至不允许我调试只是弹出一个奇怪的错误..
int intarray[2][5][12];
for(int i = 0; i < 2 ; i++){
for(int j = 0; j < 5;j++){
for(int k = 0; k < 40;k++){
intarray[i][j][k] = atoi(strtok(chararray[i][j][k],","));
}
}
}
【问题讨论】:
-
err,k 的绑定值为 40,但 intarray 的大小只有 12。
-
是的,因为char数组是40,所以只有strtok碰到","时才会加到int数组中
-
chararray 的大小在第二个循环中无关紧要。它将尝试写入 intarray[i][j][39],尽管值或 chararray 的大小,并且很可能会因内存错误而失败。
标签: arrays c multidimensional-array integer converters