main()
{ int x,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x; py=&y; pz=&z; pmax=&max;
_____;
if (*pmax < *py) *pmax=*py;
if (*pmax < *pz) *pmax=*pz;
printf("max=%d\n", max);
}
.
求帮忙
那么如果输入abc的值分别为3,5,4,则首先是max=a=3,接下来执行if (*pmax < *py) *pmax=*py;则此时*pmax里面的数是5,接下来执行if (*pmax < *pz) *pmax=*pz; 则*pmax里面的值变为4,这样的话最后输出的结果是4吧?
(真的很感谢你的回答,希望能再帮忙一下,谢谢!)
要想执行 *pmax=*pz;,得先判断if语句里的条件是不是成立。
如果*pmax < *pz成立,就会执行,如果不成立的话,是不会执行的。
当max=5的时候,跟4比较的话,5<4不成立,所以条件是假,不会执行 *pmax=*pz。
所以最大值还是5。你体会一下