如题:index = crch ^ *ptr++; 这个赋值运算是不是这样,先把指针*ptr的值+1以后再与crch异或,然后赋值给index,不是很清楚,所以特来咨询!
先谢过了!
具体优先级我也忘记了.不过在这条语句前临crch=5, *ptr=4, 先试试(debug)看index的结果.不对的话, ptr指向一个数组首地址, 数组[0] = 3, 数组[1] = 5, 再试试看是否是ptr先++总之, 调试一下就知道了, 我自己就不试了
这不是几分钟就能解决的事吗?指针结合数组输出.通过显示看运算结果然后,加括号,对比一下就知道优先等级了一般来说,不确定的话,就加括号
在实际编程中,尽量不要写这种不确定的代码,最好就是一个功能一行,或者一个功能加一个括号,这样的好处:一来,是方便于我们自己理解代码,要不然,自己写的代码,过上半个月去维护代码的时候,又要琢磨大半天才能理解:二来,由于不同的编译器,对一些优先级可能定义不同,结果会造成程序有时正常,有些不正常
++的优先级是最低的,先*ptr,再^,然后再ptr++
大家讲解的也是蛮不错的
问题总结的还是蛮到位的