直接以*p++为例:乍一看p的左边是*,右边是++,由于*和++优先级相同,故以结合性来判定,*与++结合性为从右向左,故p先结合++,变成p++,又++为后置++,则p先不加一,而把p++作为一个整体,其值为p的值,假设此时p++这个整体是m,则此时变为*m,这时m结合*变成*m,则*m为最后的值,此时再p=p+1。执行顺序等价于 p; *p; p=p+1;
优先级,结合性超级详解
于 2022-04-14 16:27:13 首次发布
直接以*p++为例:乍一看p的左边是*,右边是++,由于*和++优先级相同,故以结合性来判定,*与++结合性为从右向左,故p先结合++,变成p++,又++为后置++,则p先不加一,而把p++作为一个整体,其值为p的值,假设此时p++这个整体是m,则此时变为*m,这时m结合*变成*m,则*m为最后的值,此时再p=p+1。执行顺序等价于 p; *p; p=p+1;