2016-02-09 74 views
0

我只是有一個非常快速的問題,問你們所有人。我一直有在我的C代碼,它說:錯誤:Void值不被忽略,因爲它應該是,C編程

error: void value not ignored as it ought to be 

在我的代碼的情況是在調用語句,以使函數運行

m = myMax1(a,len,m); 

的問題和功能問題這是來自無效,如下所示:

void myMax1(int *arr, int *max, int n) 
{ 
    max = arr[0]; 
    for(n = 0; n < max; n++) 
    { 
     if(arr[n]>max) 
     { 
      max = arr[n]; 
     } 
    } 
} 

如果您有任何解決方案,請讓我知道!非常感謝你!

+3

你分配功能myMax1與M的迴歸,但這個函數不返回任何東西。 – Monfico

+2

'max = arr [0]','n max','max = arr [n]' - 這些表達式都沒有意義。如果在函數內部傳遞'n',傳入的值被'n = 0'破壞,那麼從外部傳遞'n'的意義何在? – AnT

回答

0

你的函數沒有返回任何東西,只是你將返回值分配給一個變量m。如果你只是爲了副作用而調用它,不要將返回值分配給任何東西。

+0

非常感謝!這是我的一個簡單的錯誤。這修好了 –

0

當函數返回void,你不能使用:

m = myMax1(a,len,m); 

您可以使用:

myMax1(a,len,m); 
+0

謝謝!這非常有幫助! –

相關問題