2024-09-21 13:44:07
那这个括号有啥用?
有括号不是要先算括号里面的吗?
这个和优先级无关
因为++优先于*,所以*p++就是*(p++),括号只是强调了++是p的而不是*p的
*p++; 这个 ++执行的时间点是分号以后
后++就相当于当前表达式里没有++,当这个表达式求值完成后才自加
“你说的没错,两个表达式不一样
*p++; 是先取值,再指针偏移
*(p++)是指针偏移,再取值。
不过对于优先级不清楚地时候,最好就别这么写给自己找麻烦。大多数公司里面的编码规范是要求分成两句写的
那你就是说这位楼主的回答错了?还有一点,不太理解你说的和优先级无关,有小括号了,为什么不是先让p自加,再*运算?
为什么不是先让p自加,再*运算? 这是C语法规定的,而不是自然规律
2024-09-21 08:41:05
不是这样的,这俩都是指向a[0]的,我上机试验了!
2024-09-21 05:34:05
2024-09-21 10:51:16
2024-09-21 14:17:44
“然后*p++的值是1,p=2; ” p=2怎么来的?什么意思?
我就是想问,为什么加上小括号后,输出的值没有变化?
设int a=2;b=a++;a=?说下
2024-09-21 10:38:23