2017-08-27 74 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,它应该解决您的问题。