2016-12-02 31 views
-1

打印陣爲什麼這個代碼不打印完整的array.How糾正代碼或提高打印全陣列輸入,用C

int main(void){ 

    float value[MAX],a; 
    int bit,i; 
    int group[10]; 

    bit=0; 

    do 
    { 
     scanf("%f",&a); 
     value[bit]=a; 
     bit++; 
    }while(a == '\n'); 

    for (i = 0; i < bit; i++) 
     printf("%f",value[i]); 
} 
+3

使用back-tick顯示內嵌在常規文本中的代碼。在每行的開頭使用4個空格用於* block *格式的代碼。另外嘗試並確保您的縮進是一致的和可讀的。 – crashmstr

+2

變量'f'是一個浮點變量。它幾乎不會與「\ n」這個字符相同。 –

+1

'(a =='\ n')'是錯誤的。請給出一個輸入示例,預期的和實際的輸出 –

回答

0

改變你的閱讀的停止條件從 而(一個== '\ n'); 某些int/float值。如someprogrammerdude所述,變量「a」永遠不會等於'\ n'。

+2

如果輸入'13','a'可以等於''\ n'':http://ideone.com/H34HGW – mch

+1

當(a!= ....);它需要'';您希望在尚未輸入停止值的情況下繼續閱讀數字。你可能不希望在數組中存儲停止值(當前代碼將完成)。對「浮動」進行平等/不平等測試絕不是一個好主意。 – TripeHound

+1

此答案如何幫助? – Michi