gpt4 book ai didi

c - 将数据扫描到二维数组中

转载 作者:行者123 更新时间:2023-11-30 17:17:24 25 4
gpt4 key购买 nike

我尝试在论坛中查找,但无法解决此问题。试图从用户那里获取一个字符串到二维数组中(char***)

这是我的代码

int i=0;
int j=0;

if(!(main=(char***)malloc(numWords*sizeof(char**))))
exit(1);

if(!(main[i]=(char**)malloc((numDef+1)*sizeof(char*))))
exit(1);

if(!(main[i][j]=(char*)malloc((80)*sizeof(char))))
exit(1);

for (j=1; j<numDef; j++)
{
if(!(main[i][j]=(char*)malloc((200)*sizeof(char))))
exit(1);
}
printf ("please Enter word: \n");
scanf("%s",main[i][j]); // Here is the problem
printf("Word typed:%s\n", main[i][j]);

我无法打印插入的单词以确保它确实被扫描到数组中。

问题是什么?

最佳答案

如果您在此处使用 j 值后没有重置它:

for (j=1; j<numDef; j++)

当您在循环之后使用它时,它会解决您的 main 变量中太远的一个条目,如下所示:

scanf("%s",main[i][j]); // Here is the problem

因为 j 现在 == numDef 这太远了。

(注意:不要像 C 程序的 main() 函数那样命名变量)

关于c - 将数据扫描到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430038/

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