<s>萌新第一次求教，帮下忙自己找不出问题！</s><s>！</s>
<s>第一次调用f函数，没问题。</s><s>不过第一次申请空间的语句建议改成这样：int *a = (int *)malloc(sr * sizeof(sr));因为这样的代码可移植性高一些； 第二次对sr重新输入值，如果这个值大于第一次输入的sr值，就会导致a越界了。</s><s>通过你的测试用例可知，程序出错是因为内存越界了。</s><s>第二次在使用a时，建议使用realloc一下： a = (int *)realloc(a, sr * sizeof(sr)); if (!a) exit(0); 至于学不学C++， JAVA,要看你要解决什么问题，C语言是偏底层的语言，主要用于嵌入式方向，比如驱动开发。</s><s>而C++和C有很大不同，应用的领域也是有差异的，C++的面向对象开发可以用于客户端的开发等等，JAVA就是更跟底层不关了，现在互联网的软件或页面很多是用JAVA写的。</s><s>如果你还是一个学生，建议你根据自己的爱好，将来想从事那个领域来确定要深入学习那门语言。</s><s>另外，一个好的编码风格里没有将函数定义成一个字母的，你的编码风格还差得远，一步一步来吧，先把程序写的没问题，然后再考虑把代码的可读性提高上去，因为代码除了自己要看，要看明白，也是需要给别人看的，让别人看到你的函数名就能知道这个函数是做什么的最好了。</s><s>要精通一门语言不是一天两天的事情，加油吧</s>
