【问题标题】:Using arrays in C (error in the output) [closed]在 C 中使用数组(输出错误)[关闭]
【发布时间】:2017-08-27 00:27:04
【问题描述】:

我有这个任务:

给定以下数组,编写一个程序,反转所有数组元素,然后打印它们。 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) ;
}

输出是这样的

代码有什么问题?

【问题讨论】:

  • 请正确格式化您的代码。
  • 试试y[i] = x[9-i];
  • 请修复您的键盘。您的 似乎卡住了。
  • 我认为应该关闭它,因为它是由一个简单的印刷错误引起的。

标签: c arrays loops


【解决方案1】:

问题出在这一行:

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

您正在分配给x;但是,x 是您的输入数据。 y 数组未初始化,因此当您将其值分配给 x 时,您会得到垃圾数据。这就是为什么一般不鼓励使用像 xy 这样的通用变量名的原因;很容易把它们混在一起犯这样的错误。

无论如何,如果您切换它,并将值从x 分配给y,它应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多