我有一个用c编写的代码,基本上它需要一个数组并向后打印.一个非常基本的东西.这是代码:
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main(){
int n;
scanf("%d",&n);
int *arr = malloc(sizeof(int) * n);
for(int arr_i = 0; arr_i < n; arr_i++)
{
scanf("%d",&arr[arr_i]);
}
for(arr_i=n-1; arr_i >= 0;arr_i--)
{
printf("%d ",arr[arr_i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
第二个for循环出现以下错误:
solution.c:17:9:错误:'arr_i'未声明(首次使用此函数)
Run Code Online (Sandbox Code Playgroud)for(arr_i=n-1; arr_i >= 0;arr_i--)
当我在第二个循环int之前插入时,错误消失了.arr_ifor
所以,我怀疑的是,为什么即使我已经arr_i在第一个for循环中声明,它要求我在第二个for循环中再次声明它?