4

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

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

其中a是一个大小数组10。并且i是循环的计数器。那么这可能吗?

4

3 回答 3

8

绝对:如果a是一个int*或一个数组int a[10],并且i在 0 到 9 之间,这个表达式是有效的。

a+i表达式是 的指针算术等价物&a[i],它也是传递给 的有效表达式scanf

于 2013-08-25T18:57:23.923 回答
1

是的,您可以使用 a+i 代替 &a[i],,,, 以下代码要求您输入 10 个数字并将它们保存在一个数组中,,,,然后显示其中的数字。

检查此代码:

#include <stdio.h>

int main (void)
{
    int a[10], i, j = 0;

    for(i = 0; i < 10; ++i ){

    printf("Element no %d = ",i);

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

    printf("Elements in your array are: ");

    for(j = 0; j < 10; j++)

    printf("%d  ",a[j]);

return 0;
}

我希望如果这段代码可以帮助你!

于 2013-08-25T20:17:09.037 回答
-2

试试这个解决方案:

#include <stdio.h>

int main (void)
{
  int *p, i, j = 0, n;
  printf("enter the value of n ");
  scanf("%d",&n);
  for(i = 0; i < n; ++i ){
    scanf("%d",p+i);}

  printf("Elements in your array are: ");

  for(j = 0; j < 10; j++)
    printf("%d  ",*(p+i));
  return 0;
}
于 2017-02-07T06:02:56.067 回答