VC++环境下连续自增(自减)运算规则 i++ ++i
来源:互联网 发布:二手手机淘宝店 编辑:程序博客网 时间:2024/06/14 22:32
VC++环境下连续自增(自减)运算规则
1、 在一般表达式中和在函数参数中计算的结果相同(这一点与Turbo C环境不同);
2、 后缀:同表达式中Turbo C的情况相同:先统一取值后依次自增,如:
int a,i=5; a=i+++i+++i++; a=15, i=8.
3、 前缀:对整型,前两个自增同Turbo C,即依次自增后统一取值,后面的每个自增后即
取值,如:
int a, i=5; a= ++i +(++i)+(++i); a=22, i=8.
对实型,每个自增后即取值,如:
float a, i=5; a= ++i +(++i)+(++i); a=21, i=8.
4、 前后缀混合的情况:
(1) 一般情况:表达式中自左向右计算,参数自右向左运算。前缀自增后取值;后缀(或变量)取值依其所处位置而定,有连续多个将统一取值,其自增在语句结束前进行。
(2) 前后缀各有一个的情况:设int i=5; 由于i++*++i应满足交换率与++i*i++相同,规定按后者计算故为36。实验2内容4:int i=5; printf("%d,%d\n", --i, i++*++i ); 打印5,36。
printf("%d\n%d\n",--i,(++i)+(++i)+(++i)+(++i)+(i++)); 打印9-1 = 8和7 + 7 + 8 + 9 + 9 = 40
printf("%d\n%d\n",--i,(++i)+(++i)+(++i)+i+(++i)+(++i)); 打印10-1 = 9和 7 + 7 + 8 + 8 + 9 + 10 = 49
(4) 函数参数中有括号时,括号参数优先计算,其余参数仍自右向左计算,如:
int i=9,j=8; printf("%d %d\n", (++i, j--), ++i); 打印8 11
printf("%d %d %d\n", (++i, j--), ++i, i); 打印8 11 10
(5) 最后i的值等于原值加总自增次数减自减的次数
1、 在一般表达式中和在函数参数中计算的结果相同(这一点与Turbo C环境不同);
2、 后缀:同表达式中Turbo C的情况相同:先统一取值后依次自增,如:
int a,i=5; a=i+++i+++i++; a=15, i=8.
3、 前缀:对整型,前两个自增同Turbo C,即依次自增后统一取值,后面的每个自增后即
取值,如:
int a, i=5; a= ++i +(++i)+(++i); a=22, i=8.
对实型,每个自增后即取值,如:
float a, i=5; a= ++i +(++i)+(++i); a=21, i=8.
4、 前后缀混合的情况:
(1) 一般情况:表达式中自左向右计算,参数自右向左运算。前缀自增后取值;后缀(或变量)取值依其所处位置而定,有连续多个将统一取值,其自增在语句结束前进行。
(2) 前后缀各有一个的情况:设int i=5; 由于i++*++i应满足交换率与++i*i++相同,规定按后者计算故为36。实验2内容4:int i=5; printf("%d,%d\n", --i, i++*++i ); 打印5,36。
(3) 若i++或++i或两者有多于一个的情况:++i有两个以上在一起时最左边的连续自增同3、,其余每个自增后取值,
如:int i=5;
printf("%d\n%d\n",--i,(++i)+(i++)+(i++)+(++i)); 打印9 - 1 = 8和6 + 6 + 6 + 7 = 25printf("%d\n%d\n",--i,(++i)+(++i)+(++i)+(++i)+(i++)); 打印9-1 = 8和7 + 7 + 8 + 9 + 9 = 40
printf("%d\n%d\n",--i,(++i)+(++i)+(++i)+i+(++i)+(++i)); 打印10-1 = 9和 7 + 7 + 8 + 8 + 9 + 10 = 49
(4) 函数参数中有括号时,括号参数优先计算,其余参数仍自右向左计算,如:
int i=9,j=8; printf("%d %d\n", (++i, j--), ++i); 打印8 11
printf("%d %d %d\n", (++i, j--), ++i, i); 打印8 11 10
(5) 最后i的值等于原值加总自增次数减自减的次数
- VC++环境下连续自增(自减)运算规则 i++ ++i
- 关于java里面的自增自减运算(i++和++i)
- 自增(i++)、自减(i--)运算符的学习笔记
- 自增运算符前置与后置区别(i++,++i)
- 后缀自增/自减运算符与前缀自增/自减运算符的使用区别(即i++与++i)
- i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例
- i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例
- i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例
- i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例
- ++i和i++关于[自增运算符]和[顺序点]
- 【前缀自增/减++i】和【后缀自增/减i++】的区别
- C语言自增自减,i++和++i的区别
- 自增、自减运算
- 自增自减运算
- 自增、自减运算
- 自增自减运算
- 自增自减运算
- 自增 自减 运算
- Oracle 系统触发器
- RK30系列替换开机第一屏教程,n70双擎成功,非完美,希望高手能进一步完善改进~~~
- Android监听WebView滑动到底部
- apache2.2的目录文件及 虚拟主机的配置
- Windows 8.1 Preview的新功能和新API
- VC++环境下连续自增(自减)运算规则 i++ ++i
- freemarker入门笔记之一:永恒的helloword
- zendstudio 9 快捷键
- MyEclipes安装报错
- ABAP ALV里 添加超链接和字段设置为下拉列表
- 杭电OJ——1011 Starship Troopers(dfs + 树形dp)
- Differences Between Classic and New BAdIs
- 在线旅游网站盈利模式
- gvim基础配置 plus python