C语言的简单问题哟~~

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:54:46
分析以下C语言程序:
void main()
{
int a[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
}
运行结果是()。(选择一项)

a) 0
b) 1
c) 10
d) 9
答案为什么会是C啊

*p+9的意思是 *p + 9

p指向数组的第一个元素,所以 1 + 9 就是10嘛!

不懂哦。学习中~~

*p=*(p+0)=p[0]=a[0]=1,*p+9=10

p=a;指针p指向数组a的首地址a[0],a[0]=1,所以*p的值为1
printf("%d\n",*p+9);输出*p+9的值,*p=1,*p+9=10,所以结果为10