2017-08-27 80 views
-4

使用數組我有這個任務:在C(在輸出誤差)

鑑於以下數組,寫反轉所有數組元素然後打印他們的程序。 int x [] = {1,2,3,4,5,6,7,8,9,10};

然後我寫的代碼:

int main() {  
    int x[] = {1,2,3,4,5,6,7,8,9,10}; 
    int y[10] ; 
    int i; 
    i=0 ; 

    for(i=0 ; i<10 ; i++) {  
    x[i]=y[9-i] ; 
    } 

    printf("\r\n The reversed array is : \r\n{ ") ; 

    i=0 ; 
    for(i=0 ; i<10 ; i++) {  
    printf("%d \t ,",y[i]) ; 
    } 
    printf("}") ; 

    return(0) ; 
} 

輸出功率爲這個

d

什麼是錯的代碼?

+0

請正確格式化您的代碼。 –

+1

嘗試'y [i] = x [9-i];' –

+0

http://imgur.com/uvDOADL –

回答

2

的問題是在這條線:

x[i]=y[9-i] ;

您指定給x;然而,x是您的輸入數據。 y陣列未初始化,因此當您將值分配給x時,您會收到垃圾數據。這就是爲什麼通常不鼓勵通用變量名稱如xy;很容易將它們混合起來,並犯這樣的錯誤。

無論如何,如果你切換它,並將值從x改爲y,它應該解決您的問題。