!p_max || *p_tmp > *p_max 的含义是两个逻辑式的 或 运算;
其中之一,!p_max 表示 p_max 非 空,即 p_max 非零;
其二,*p_tmp > *p_max 表示两个 int 型地址所代表的 int 数值的比较;
因为这两个式子之间进行 或 运算, 只有前一个逻辑式为假(即 p_max 非空)的情况下,后一个逻辑式才会执行,这是 C 语法规定的。
由此,!p_max 的作用就是防止后面的 *p_max 寻址出错。
顶一下
(0)
0%
踩一下
(0)
0%