为了账号安全,请及时绑定邮箱和手机立即绑定

关于左图的++a和a++的问题。

++++a和a++++是不对的,并不能让a多次+1再赋予给b吗?只能执行a++或者++a这种的运算吗?

正在回答

5 回答

这其实是编译原理的知识,我们写的code是由编译器或解释器进行语义分析的。

如果是一条语句的开始出现一个+a;显然它无法解释成任何语句,

++a;可以解释为自加1

+++a;无法解释成任何语句

++++a;更加无法解释成正确语句。

但是一种情况下,比如c=a+++b;可以被解释为c=a+(++b);

也就是实际代码在编译器编译的时候是根据一定的编译规则去解释的,不符合规则的写法,自然报错。

0 回复 有任何疑惑可以回复我~
#1

慕雪1790920 提问者

这等于就像是++a等于是说我,这是编译器可以解释的语句。但是+++++a虽然想说成更多个我即是我们,但是编译器没有这个语句的分析,所以就是错误的写法。好像懂了,这就像已知的公式一样,并不是增加更多符号就能多运算一样,必须一步一步的采用这个公式写出多个语句才能算出来。
2016-10-01 回复 有任何疑惑可以回复我~

++是自加运算符

0 回复 有任何疑惑可以回复我~

a+++,目前我所知的编译器没有这个功能,也就是不可以,其实也不需要,如果想让a自加许多次的话,再往后学一点,循环那里可以用更简单,明了的方式实现

0 回复 有任何疑惑可以回复我~
#1

慕雪1790920 提问者

好的!知道了,我就是想问如何让a多次自增,既然后面有循环而且简单那就好了。多谢!
2016-10-02 回复 有任何疑惑可以回复我~

++a是a先自加一,然后在运行a;而a++是执行完a再给a加一

0 回复 有任何疑惑可以回复我~

当然不行,会报错的,有什么想法可以先在自己电脑上面敲一遍,比直接问别人强得多,我也是刚学,老是有各种奇奇怪怪的想法,每次都顺着自己的意思去敲一遍,然后搞明白之后,再去想其他方法实现自己的脑洞,感觉很爽!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于左图的++a和a++的问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信