有如下代码:
#define MIN__MY(a,b) ((a)<=(b)?(a):(b)) int main() { int arry[5] = {10,20,30,40,50}; int *p = &arry[0]; printf("%d & %d : MIN = %d, *p = %d\n", arry[1], 10, MIN__MY(*p++, 10), *p); return 0; }输出为多少:
20 & 10 : MIN = 20, *p = 10
程序运行到return时,其实 *p = 30
能理解为什么会是这样吗