设有int a=101112p=&a0;p++;p+=1;运算后a数组的元素值为?p++执行后p+=1是在p++运行的基础上执行还是从数组a首元素地址执行?p++相当于p++还是p++?解释为什么。设 int x=3332224446677888q=x;q=q+3;printf dp;的输出结果是
a数组的元素值为{10, 12, 12}。 *p++执行后,*p+=1是从数组a首元素地址执行。 p++相当于(p++),即先取出p指针指向的值,再将p指针自增1。这是因为后置++运算符的优先级比解引用运算符高,所以先执行++运算,再执行解引用运算。 printf("%d",p);的输出结果是12。因为q=q+3操作使得q指针指向了数组x的第四个元素66,而p指针未被改变,仍指向a数组的第二个元素12。所以输出的是p的值,即12。
原文地址: https://www.cveoy.top/t/topic/jcey 著作权归作者所有。请勿转载和采集!