c=*pa+++*pb; 与c=(*pa)+++*pb;什么区别.

学习 时间:2026-04-03 08:40:56 阅读:6880
c=*pa+++*pb; 与c=(*pa)+++*pb;什么区别.c=*pa+++*pb; 与c=(*pa)+++*pb;什么区别

最佳回答

正直的画板

大力的白羊

2026-04-03 08:40:56

前者c=*pa+++*pb,由运算符优先级可知,等效于c=*(pa++)+*pb后者等效于c=((*pa)++)+*pb 显然不同前者等效于c=*pa+*pb;pa+=1;后者等效于c=*pa+*pb;*pa+=1;即自加的对象不同 再问: 奥 *的优先级大于++?? 再答: ++(后缀)的优先级高于*再问: 可是 *与++不是优先级相同吗? 再答: 第一,从C89开始就将++运算符前缀和后缀视作两个不同的运算符,具有不同的优先级,且++(后缀)的优先级高于++(前缀),所以国内那些教材将++前后缀视作一种的做法是极其不妥的 第二,即便两个运算符的优先级相同,也有结合性可以参考

最新回答共有2条回答

  • 彪壮的太阳
    回复
    2026-04-03 08:40:56

    前者c=*pa+++*pb,由运算符优先级可知,等效于c=*(pa++)+*pb后者等效于c=((*pa)++)+*pb 显然不同前者等效于c=*pa+*pb;pa+=1;后者等效于c=*pa+*pb;*pa+=1;即自加的对象不同 再问: 奥 *的优先级大于++?? 再答: ++(后缀)的优先级高于*再问: 可是 *与++不是优先级相同吗? 再答: 第一,从C89开始就将++运算符前缀和后缀视作两个不同的运算符,具有不同的优先级,且++(后缀)的优先级高于++(前缀),所以国内那些教材将++前后缀视作一种的做法是极其不妥的 第二,即便两个运算符的优先级相同,也有结合性可以参考

上一篇 亲们~快帮我:若a,b,c,d是四的互不相同的自然数,且abcd=1988则a+b+c+d的最小值为多少?

下一篇 一空心铜球,质量为89g,将其浸没在水中时,恰好悬浮,则铜球空心部分体积为------cm3(ρ铜=8.9×103kg/