2013-07-04 11:41:28

primer上说++优先级高,但我网上查了下,好多说二者优先级一样,从右向左。
这两种解释的结果是一样的。哪个是对的?


* 有两个意思,理论上

作为 乘法 运算符,级别低于 ++(自增)。
作为 指针取值 运算符,级别同 ++(自增)一样。

*p++; 很令人混淆。它不是 *p = *p + 1; 它却是 *p = *(p+1); 而且是后加加。
int a[]={1,12,23};
int *p=a;
printf("%d\n",*p++);
输出 a[0]的值 1
出了上面打印语句再自增 *p = *(p+1);
接着打印 printf("%d\n",*p); 打出 a[1]的值 12。

所以不只是优先级问题!

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2018-05-15
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2022-02-19
猜你喜欢
  • 2021-10-27
  • 2021-10-03
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案