请问这段代码错误在哪里啊?

img


用char **answer;可以做,我用指针数组char *answer[n];就执行出错,还不是编译出错,所以就不知道错在哪里。
一开始我猜是定义指针数组时用了变量n,所以我把变量n换成了10000这个具体数字还是不行。我就不知道错在哪里了。
而且我也想知道定义指针数组char *answer[n];能不能用变量n。
感谢回答!

answer只是一个函数内的局部变量数组,是不能当返回值的

char ** answer = (char**)malloc(sizeof(char *) * n);

answer这是指针,没有分配内存

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7576896
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言解决整数因子分解问题。对于给定的正整数n,计算n共有多少种不同的分解式。
  • 除此之外, 这篇博客: C语言简单算法之求交错序列前N项和,统计学生平均成绩与及格人数,求1到100的和,求奇数分之一序列前N项和,找出最小值,求n!,统计字符,最佳情侣身高差中的 【3】个人总结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    (1)学习内容:
    本周主要学习的是循环体的所使用,while,do-while,for等循环语句并将他们进行了区分。还讲了循环的镶嵌,如何使用break语句处理多循环条件,以及break和continue的区别。同时还教了如何进行错误调试,介绍了一些常见的数学库函数。
    <1>while先进行判断,在进行循环体。do-while先进行循环体再进行判断。
    <2>for循环将循环变量赋的初始值,循环条件,循环变量的改变都放在了for的后面。
    <3>错误调试:一定要看错误提示,模拟运行过程。

    (2)收获:了解了一些新的知识,如学习内容中所说,也学习了新的代码编译。

    (3)难点:我觉得本周的难点应该是循环的镶嵌问题,在编译过程中容易混乱。

    (4)不明白的知识点:在知识的接受方面没有什么问题,但一到实际操作的时候就会暴露出很多问题,自己一打代码时只要变点就会打不出或是要打很久。难一点就一点思路都没有了。就拿第十三周作业的第三题说吧,读了好多遍都一点思路没有,就进行了百度粘贴,虽然没粘贴同学的,不过性质是一样的,都是别人嚼过的。其实之前的作业百度的题不下少数,像这次直接粘上去的还真是第一回,当时在打代码是有别的事压在一起了,有点着急就直接粘上去了。在百度的时候其实是有一个思考的过程的,但还是不能解决本质上的问题。感觉现在有点像在高中学物理的时候,看见答案就明白什么意思,自己一做就错。而且我觉得自己写博客的顺序错误,我的设计思路都是看着代码打出来,而不是在打代码之前就形成的,有点偏离写博客的初衷。我不想否认自己其实不够努力,但确实有些力不从心。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^