2013-11-28 75 views
0

我在編程初學者,所以我想一個簡單的答案:)我怎樣才能擺脫:警告:計算值不使用[-Wunused值]

我有一個用多回路條件,打印出兩個數組。它的工作原理,但我得到一個警告和()下的一個紅線。爲什麼是這樣,我怎樣才能避免它?我用C編寫它,並在Ubuntu中使用Geany編譯器。 :)

for((i=LEN-1) && (j=1); (i>=LEN-3) && (j<=PODIUM); i-- && j++) 
{  
    printf("%d. koht: %s tulemusega %f\n", j, voist[i], tul[i]);  
} 
+1

你需要將'(i = LEN-1)&&(j = 1)'改爲'i = LEN-1,j = 1'並且'i-- && j ++'我 - ,j ++' – SHR

回答

0
for(i=LEN-1,j=1 ; (i>=LEN-3) && (j<=PODIUM); i--, j++) 

編輯: 它的工作原理,因爲這是正確的語法。您不需要使用操作符來合併兩個初始化或兩個增量。你可以使用,

+0

此解決方案工作。但爲什麼它工作?你可以解釋嗎? :) – Jaan

+0

編譯器將布爾結果存儲在內部的某個臨時變量中,這是從未使用過的。當我們刪除第一個布爾條件時,它的最後一個參數解決了這個目的! – Srikanth

+0

在我的編輯中看到答案。 – SHR

0

該警告是因爲(i=LEN-1) && (j=1)返回值是用於further.To避免警告機器人的,試試這個

int temp; 
... 

temp = (i=LEN-1) && (j=1); 

for(; (i>=LEN-3) && (j<=PODIUM); i-- && j++) 
{ 

    .... 

    temp = (i=LEN-1) && (j=1); 
} 
+0

不幸的是,只是增加了另一個警告:)變量溫度設置,但沒有使用。 – Jaan

+0

編輯我的答案。現在它將工作沒有任何警告。 – haccks