i++和++i的区别总结
i++和++i的区别:
直观上,i++表示先返回再加1,++i表示先加1再返回。也就是说,i++返回原来的值,++i返回加1后的值。
(1)单独看i++和++i,意思是一样的,就是i=i+1;
(2)如果将其作为表达式赋值给别的变量,就不同了:
假设i初始等于1,执行a=i++之后,a=1,i=2;而执行a=++i之后,i=2,a=2。
(3)i++不能作为左值,而++i可以。
左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。
但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址运算符&获得对应的内存地址。 举例如下:
合眸聆音: 我重新下载安装了
Awe1123: 您好 这个问题您解决了吗
@Be Continue…: ++i不是应该等于3吗
qq_52199951: 可惜
合眸聆音: 安装的步骤没有错,为什么cmd中会出现不是内部或外部命令呢