设有 int a[]={10,11,12},*p=&a[0]; *p++; *p+=1; 运算后,a数组的元素值为 {10, 13, 12}。

*p++执行后,p+=1 是在p++运行的基础上执行,即从数组a的第一个元素地址开始执行。

*p++ 相当于 (p++)。这是因为后置自增运算符++的优先级高于解引用运算符,所以先执行p++,然后再对p解引用。

设 int x[]={333,222,444,66,77,888},*q=x; q=q+3; printf ('%d',*q); 的输出结果是 66。因为 q=q+3; 将q指针移动到了x数组的第四个元素位置,即66的位置。所以输出的结果为66。

C语言指针运算详解:*p++和*p+=1的执行顺序

原文地址: https://www.cveoy.top/t/topic/hsfX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录