2016-04-06 16 views
-2

Ev işimde küçük sorunum var. Bir diziyi özetleyen bir yöntem oluşturmam gerekiyor, ancak belirli bir adımla.C yöntemi, uyarı verir: İfade sonucu kullanılmaz ve donuyor

int sum_step(int t[], int size, int step) 
{ 
    int i; 
    int sum = 0; 

    for(i=0; i < size; i+step) 
    { 
     sum += t[i]; 
    } 

    return sum; 
} 

ve konsol döner uyarı:

warning: expression result unused 
    [-Wunused-value] 
    i + step; 
    ~^~~~~ 

Birisi yanlış olduğunu bilir böyle bir şey yaptı? Şimdiden teşekkürler!

+0

Not: C _methods_ desteklemediği

for (i = 0; i < size; i + step) 

Muhtemelen i Bu yazmalıyım böylece her yineleme sonra step artırılabilir istiyorum. Sadece _functions_. Ve hata mesajı gösterilen kodla eşleşmiyor. [Isteyin] bir [mcve] sağlayın. – Olaf

+0

Ayrıca, 'dondurma' -% 0 CPU, (bloke) ve% 100 CPU, (döngü) olmak üzere iki lezzet olduğunu unutmayın. Hangisinin olduğunu bilmek çok yararlı! –

+0

Kulağa hoş gelmiyor, ama derleyiciniz size bir uyarı verdiğinde kodunuzu tekrar kontrol ettiniz mi? Bu belli bir hata. – mjohnsonengr

cevap

3

Aşağıdaki bildiriminin üçüncü ifade i+step hiçbir şey yapmaz.

for (i = 0; i < size; i += step) 
+0

Mesajdaki kod, gösterilenle aynı değil. Noktalı virgül dikkat! – Olaf

+0

@Olaf '' 'hata mesajının bir parçası olabilir, gcc ile aşina değilim. –

+0

Evet, mesaj çıktısı biraz farklı bir koddan çıktı (sonunda ben + adım; ile denedim. Üzgünüm bunun için. Ama Michael haklıymışım gibi = =. –