经典i++和++i问题(附带运算符优先级问题)
2024-10-06 22:31:25
转自 https://blog.csdn.net/mustard1020/article/details/79617865
1.i++和++i的区别
(1)i++简单来说就是先用i的值来参加表达式的计算,然后再自加1
i=4;
a=i++; //此时,先做a=i=4,再做i++,故a=4,i=5
(2)++i则是先自增1,再用自加后的值来做运算。
i=4;
a=++i; //此时,先做++i=5,再做a=++1,故a=5,i=5
2.运算符的优先级
*典型例题1 (比较下面两个代码输出结果的不同)
程序1:
程序2:
*典型例题2(输出程序结果)
该程序分别输出:
7
8,8
(1)首先指针ptr指向数组arr的arr[0]=6
(2)*(ptr++)+=123,先执行*(ptr)+=123,相加结果为129,再执行自加1,此时*ptr指向arr[1]
(3)printf此时的指针ptr,即打印arr[1]的值,故为7
(4)在执行下一句printf时,因为‘()’,‘++’的优先级均高于‘,’所以指针ptr会先自增1,故指向arr[2]=8
最新文章
- hdu 2037 今年暑假不AC
- Object.Destroy慎用
- OpenGL开发环境配置-Windows/MinGW/Clion/CMake
- 【转】adns解析库——域名解析实例(C++、linux)
- java io基础(java.io)
- open-falcon(v0.2)安装grafana部署
- App Inventor2项目部署到本地
- [Go] golang的range循环遍历通道
- 【LOJ565】【LibreOJ Round #10】mathematican 的二进制 DP 分治FFT
- Redis和Memcache的区别是什么
- 【LOJ】#2508. 「AHOI / HNOI2018」游戏
- Mahout 安装配置
- ActiveMQ入门实例(转)
- C语言----<;另类>;神奇的";Hello World!";
- 如何查看mysql 默认端口号和修改端口号
- 分布式日志收集框架Flume
- halcon中关于文本的创建以及写入
- [转] Jsp 重点
- scrapy框架的持久化存储
- DecoratorPattern(23种设计模式之一)
热门文章
- pip安装django出错 Could not install packages due to an EnvironmentError: [Errno 13]
- Ubuntu端口常用命令
- R语言与概率统计(四) 判别分析(分类)
- keepalived脑裂问题
- 论文阅读 | Tackling Adversarial Examples in QA via Answer Sentence Selection
- Appendix 2- Lebesgue integration and Reimann integration
- 7.编写mapreduce案例
- 脚本(bat、shell)调用conda
- Lazy的SDL教程 翻译----Lesson 22 Timing
- WEB小计