我正在尝试在c中执行此操作:
scanf("%d",a+i);
其中a
是一个大小数组10
。并且i
是循环的计数器。那么这可能吗?
绝对:如果a
是一个int*
或一个数组int a[10]
,并且i
在 0 到 9 之间,这个表达式是有效的。
该a+i
表达式是 的指针算术等价物&a[i]
,它也是传递给 的有效表达式scanf
。
是的,您可以使用 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;
}
我希望如果这段代码可以帮助你!
试试这个解决方案:
#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;
}