祝大家有美好的一天,
有什么大事我想不通。我创建了一个多维指针数组:
char *listA[5000][2];
在特定情况下,我希望将特定字符串保存在此数组中。这些是一个普通的字符串,在一个简单的变量中,另一个包含在一个字符串数组中。
listA[j][0]=strMix;
listA[j][1]=ingredients[i];
j++;
j当然是行,每次添加都会增加。
结果必须是一个数组,对于每一行,包含两列,一列包含成分,另一列包含相对 strMix。
问题是当我尝试读取这个多维数组时:
printf( "%s", listA[0][1]); // the ingredient
总是正确的,但是:
printf( "%s", listA[0][0]); // the strMix code
总是不正确的;准确地说,它为每一行读取最后一个 strMix 读取。
我试图改变列的顺序,令我大吃一惊的是,问题总是出在 strMix 上,而不是出在成分 [i]字符串上。
仅当我将 strMix 列写入 listA 并立即读取它时,它才是正确的。当然,我会说。
例如:
printf("Current: %s vs Previously: %s",lista[j][0], lista[j-1][0]);
它们是相同的,对于每个 j,等于最后一次 strMix 读取。
如果您有任何想法,关于内存或多维指针数组的任何想法,我只是缺少这些,我会很感激您的建议。
谢谢你的时间,在任何情况下。fdt。