c++中* p=& a[1]+1的值是什么?
1个回答
展开全部
p的值是3。
第一条输出语句:
printf("%s*p=&a[0]+1 相当于 int *p; p=a+1; 所以答案*p=a[1]=3。
&a[0] 就是a数组的首地址 即相当于a 。 a+1就相当于指针下移一个单位。
inta[2]={1,3}即a[0]=1,a[1]=3。
*p=&a[0]+1 这是一个指针变量,*p=&a[0]+1就是a[0]的地址加1,并赋值给p,这样p指向的就是a[1],所以*p的值就是3了。
&a[0]是指第一个数字的地址+1就是第二数字的地址 所以*P=3。
扩展资料:
变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。
在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询