求C语言高手来 ,本人是个新手?

来源:百度知道 编辑:UC知道 时间:2024/06/19 15:52:29
main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d",*p);
}
这个程序的结果 以及怎样运算的?

结果为4
首先要明白a的意思
a其实就是数组a【10】的首地址 也就是a【0】的地址
所以},*p=a+5;的意思就是将指针地址移动5个单位 所以*p其实就是a【5】的内容 就4

a+5其实就是 a[5] ;
a[5]=4;所以*p=4;
指针 和 数组 在一些地方是类似的。

a是a[0]的地址,a+5应该是a[5]的地址
p指向a[5]
就输出4

运行一下不就知道了~