两种表示方法经常容易混淆, 在这里将利用演示程序来揭示两者之间的区别, 演示代码如下

int main()
{
int a = ;
cout << "a=1 " << "a++: " << a++ << " 此时a= " << a << endl;
a = ;
cout << "a=1 " << "++a: " << ++a << " 此时a= " << a << endl; system("pause");
return ;
}

最终结果如下:

a=1 a++: 1 此时a=2
a=1 ++a: 2 此时a=2

显然, a++ 与 ++a 均是对a自身的自加运算, 就改变a的值来讲, 二者效果相同; 但是, 两者算式的值却不相同(a++)的值保持为原先a的值, 而(++a)的值随着a的值一起变化加一. 下面, 我们来看这两个式子的值具体在怎么变化;

代码如下:

int main()
{
int a = ;
cout << "a=1 " << "a++=" << a++ << "; 此时a=" << a << endl;
cout << "此时a=" << a;cout<< "二次a++=" << a++ << "; 此时a=" << a << endl << endl; a = ;
cout << "a=1 " << "++a=" << ++a << "; 此时a=" << a << endl;
cout << "此时a=" << a;cout<< "二次++a=" << ++a << "; 此时a=" << a << endl; system("pause");
return ;
}

运行结果如下:

a=1 a++=1; 此时a=2
此时a=2二次a++=2; 此时a=3

a=1 ++a=2; 此时a=2
此时a=2二次++a=3; 此时a=3

结果与我们想的一致, a++是对a变量值的引用, 始终与该式之前a的值一致; 而++a本身就是对a自增的引用, 结果与该式之后的a保持一致.

最新文章

  1. 《大话》之 策略模式 Vs 状态模式
  2. 升级到Xcode8.2.1(Swift 2.3升级到3.0)
  3. 向mysql数据库中插入大二进制文件和大文本
  4. ajax无刷新上传图片
  5. U3D 动态创建Prefab的多个实例
  6. XML读写
  7. C# 操作 Excel 常见问题收集和整理
  8. Elasticsearch常用插件(三)
  9. Redis使用说明详解
  10. sqlserver中select造成死锁
  11. testng实现场景恢复
  12. AutoCAD 2019.0.1 Update 官方简体中文版
  13. mysql5.5.28在Linux下的安装
  14. R 544
  15. 绿色版mssql
  16. MySQL基准测试(一)--原因,策略,思路
  17. 获取页面元素的css属性
  18. Power BI新主页将使内容的导航和发现变得轻而易举!
  19. mongodb2.X添加权限
  20. 微信小程序测试的策略和注意事项

热门文章

  1. Python之exec()/compile()方法使用
  2. BZOJ 2152 / Luogu P2634 [国家集训队]聪聪可可 (点分治/树形DP)
  3. 【C#-导出Excel】DataSet导出Excel
  4. asp.net大文件传输断点续传源码
  5. hihocoder 1457 后缀自动机四&#183;重复旋律7 ( 多串连接处理技巧 )
  6. USACO19JAN Redistricting
  7. webpack打包.vue文件
  8. apt 和 apt-get的区别
  9. SRS之SrsRtmpConn::stream_service_cycle详解
  10. Nginx事件管理之ngx_event_core_module模块