擅长:python、mysql、java
<p>看起来<code>SortFunc</code>在适当的地方修改了<code>arr</code>。这行吗?在</p>
<pre><code>SortFunc(a, n)
print(a[:]) # hopefully this will now show [1, 2, 3, 4, 6, 10]
</code></pre>
<p>我认为对于您当前的代码,<code>b</code>可能只是一个int,也许是一个错误标志。您可能需要使用passbyreference获取结果,而不是返回结果。因此Python代码如下:</p>
^{pr2}$
<p>这将调用<code>void SortFunc(int arr[], int sorted[], int n)</code>。在<a href="http://staff.mbi-berlin.de/schultz/Call_C-DLL_from_Python.txt" rel="nofollow">http://staff.mbi-berlin.de/schultz/Call_C-DLL_from_Python.txt</a>处有一些代码通过引用更改数组。在</p>
<p>还有一件事:我不确定这是否有效,但是您可以尝试返回一个新分配的数组,而不是返回<code>arr</code>:</p>
<pre><code>int * sorted_array = new int[n];
// Read in values from arr and sort them into sorted_array...
return sorted_array
</code></pre>