我在教程中找到了这个。这是一个向后打印给定数组的程序。但是它不会向后打印数组,因为它有一个错误。它说我应该找到错误,但是我找不到。

#include <stdio.h>

int main()
{
  int ara[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

  int i, j, temp;

  for(i = 0, j = 9; i < 10; i++, j--)
  {
    temp = ara[j];
    ara[j] = ara[i];
    ara[i] = temp;
  }

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

最佳答案

交换两次等同于不执行任何操作。使其仅交换一次。

for(i = 0, j = 9; i < 5; i++, j--)
{
    temp = ara[j];
    ara[j] = ara[i];
    ara[i] = temp;
}

关于c - 我在此C程序中找不到错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39141155/

10-11 18:14