0
int a[10],sum,*p;
sum=0;
for(p=&a[0];p<&a[10];p++)
    sum += *p;
printf("%d",sum)

嗨,我是 turbo c 的新手,尤其是在指针方面。有人可以向我解释一下指针是如何在这个程序中使用的。先感谢您。

我知道程序是如何工作的,但我不明白为什么程序使用指针和“&”符号。谢谢。

4

1 回答 1

1

这是 C 中指针的说明性示例,但是也可以在不使用指针的情况下编写此代码。这里

p=&a[0]

^ 存储数组第一个值的内存地址a。并且 For 循环将执行,直到指针存储最后一个数组值的内存地址,即a[10]

sum += *p;

上面语句中的 ^*p代表指针指向的内存地址的值p。例如p,当前指向a[0]. 然后 的值a[0]将被添加到sum。在 For 循环的下一次迭代中, 的值p增加,它将指向a[1]

于 2013-03-03T09:57:35.207 回答