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

标签 c arrays pointers scanf

我正在尝试在 中执行此操作:

scanf("%d",a+i);

哪里a是一个大小为 10 的数组.和 i是循环的计数器。那么这可能吗?

最佳答案

绝对:如果 aint*或数组 int a[10] , 和 i介于 0 和 9 之间,则此表达式有效。
a+i表达式是指针算术等价的 &a[i] ,这也是传递给 scanf 的有效表达式.

关于我可以在 scanf 中使用指针来获取数组中的输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432494/

相关文章:

c - 如何使用 gtkmozembed.h 编译程序

c - 是否有类似于 printf 的函数,但只返回 C 中格式化字符串的结果?

javascript - 如何在 Javascript 中向空数组添加项目

c - 为什么我在这个程序中使用指针时会得到垃圾? C语言

c++ - 如何编写确保线程安全的测试用例

c - 如何在具有动态字符串的函数中使用 malloc 并且不在末尾添加符号

java - Java中不同类型的二维数组列表

ios - 在 Collection View 中删除项目的正确方法

c++ - 释放前的临时指针?

c - 插入哈希表时出现段错误