第一个运行 max(a++,b)
时,计算 a++
,返回 1
,但会将 a
的值自增到 2。然后,max()
函数将 1
和 0
进行比较,返回较大的值 1
。因此,结果是 2
。
第二个因为在计算 max(a++,b+10)
时,程序首先计算 a++
,这将返回 1
,但是这时候 a的值增加到2。max将1和b+10进行比较,由于 b
的值为 0
,因此 b+10
的值为 10
,所以 max()
函数返回较大的值 10。
关于C,C++表达式求值顺序 http://blog.csdn.net/fefe82/article/details/37833767, http://bbs.csdn.net/topics/370153775
将变量var的地址存储到变量p中,初始化后(p=&var),p指向var,称为一个指向var的指针。指针是一个变量,它存储了另一个变量的地址。