我有这个任务:
给定以下数组,编写一个反转所有数组元素然后打印它们的程序。 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) ;
}
输出就是这个
代码有什么问题?
答案 0 :(得分:2)
问题出在这一行:
x[i]=y[9-i] ;
您正在分配给x
;但是,x
是您的输入数据。 y
数组未初始化,因此当您将值分配给x
时,您将获得垃圾数据。这就是通常不鼓励使用x
和y
等通用变量名称的原因;很容易将它们混淆并犯这样的错误。
无论如何,如果你改变它,并将x
的值分配给y
,它应该可以解决你的问题。