小编Raj*_*jee的帖子

C数组错误 - 要求我两次声明相同的变量

我有一个用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'未声明(首次使用此函数)

  for(arr_i=n-1; arr_i >= 0;arr_i--)
Run Code Online (Sandbox Code Playgroud)

当我在第二个循环int之前插入时,错误消失了.arr_ifor

所以,我怀疑的是,为什么即使我已经arr_i在第一个for循环中声明,它要求我在第二个for循环中再次声明它?

c arrays scope dynamic

1
推荐指数
1
解决办法
93
查看次数

标签 统计

arrays ×1

c ×1

dynamic ×1

scope ×1