我可以在scanf中使用指针来获取数组中的输入吗?

Ama*_*ary 3 c arrays pointers scanf

我想在这样做:

scanf("%d",a+i);
Run Code Online (Sandbox Code Playgroud)

哪里a是一个大小的数组10.并且i是反循环.这可能吗?

das*_*ght 6

绝对:如果a是一个int*或一个数组int a[10],并且i介于0和9之间,则此表达式有效.

a+i表达式是指针运算等效的&a[i],这也是一个有效的表达传递给scanf.

  • 如果`a`是`int a [10]`或者其他类似的东西也可以工作 - 只要`i`在范围内,当然. (2认同)