关于自增(减)操作的发生时机
第一个例子
#include <iostream>
using namespace std;
int main()
{
int i,j;
i=j=3;
cout << i++ << "," << i << endl;
cout << i << endl;
cout << ++j << "," << j << endl;
cout << j << endl;
return 0;
}
第二个例子
#include <iostream>
using namespace std;
int main()
{
int n1,n2;
n1=n2=3;
n2=n1++,n2++,++n1;
cout << "n1=" << n1 << endl;
cout << "n2=" << n2 << endl;
return 0;
}
第三个例子
#include <iostream>
using namespace std;
int main()
{
int x=4,y=25,z=2;
z=(--y/++x)*z--;
cout << "x=" << x << endl;
cout << "y=" << y << endl;
cout << "z=" << z << endl;
return 0;
}
前加(减)是在表达式(或语句)执行之前运行,
后加(减)是在表达式(或语句)执行后完成的.
语句或','分割的表达式都会使后加(减)起作用了.
前加(减)++i优先级高于*/,顺序从右至左,先结合后运算.
后加(减)优先级低于*/及=,顺序从左至右,先运算后结合.
同一表达式中不影响自身.上面结果是:
3,3
4
4,3
4
n1 = 5, n2 = 4, x = 5, y = 24, z = 7
语句z=(--y/++x)*z--;分析为:
z = (((--y)/(++x))*z)--
z = (24/5)*2 - 1
整除 24/5 = 4 再 * 2 = 8 , 结果减 1 = 7.
后减(--)优先级低,运算最后完成.
其实还有一点需要注意的是,编译器的执行顺序.在gcc中是总右往左执行
分享到:
相关推荐
通过实际例子对C++中的自增自减操作符进行了细致的剖析
31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip31.java自增自减运算符.zip...
详细讲述c++自增自减问题. 详细讲述c++自增自减问题. 详细讲述c++自增自减问题.
自己编写的关于C中自增自减的课件,非常值得下载哦。介绍了整型、实型两种类型关于++,--的区别和联系。
自增自减工具可以自动计算加减运算,能够清零为默认状态。复制数字简单方便。
对自增与自减的另一种理解
C语言的自增++,自减--运算符对于初学者来说一直都是个难题,甚至很多老手也会产生困惑,最近我在网上看到一个问题: #include void main() /*主函数*/ { int a,b,c,d; a=5; b=5; c=...
C语言自增自减运算解释: 相信初学者对于C语言自增自减运算,总是感到迷惑吧,本文将为此问题提供详细解释
一个保险箱密码保护程序 , 有10次密码输入机会,提示剩余尝试次数, 连续10输入错误密码自动关闭, 输入正确的密码给出提示。
关于C语言自增自减运算符的灵活使用.pdf
sizeof运算符的使用,自增和自减运算符的使用,显示自增自减运算符对3作用时得到的值,显示自增自减运算符对3作用后得到的值
用C++实现了向量的变长的载入,通常的加减乘法,以及自增自减
Java语言中自增、自减运算符解析.pdf
对类Point重载“++”(自增)、“--”(自减)运算符,要求同时重载前缀和后缀。 使得下列主函数能够正确运行:
自增/自减运算符 目录 课程导入 掌握自增/自减运算符的计算 能够熟练使用自增/自减运算符 自增/自减运算符 基本规则: 作用:在对一个变量做加 1 或减 1 处理时,可以使用 ++ 或 --。 ++ 或 --是单目运算符,放在操作...
介绍Java和C语言中的自增和自减区别,如a++和a--的区别。
2自增自减.exe
1.掌握C语言算术、赋值、自增、自减运算符及相应表达式 2.掌握不同类型数据之间的赋值规律 3.了解强制数据类型转换以及运算符的优先级、结合性 4.学会根据表达式,编写相应程序,验证表达式结果的方法
jQuery插件jQuery Spin Button自定义文本框数值自增或自减
Swift视频教程:基本操作符系列 浮点数取余和自增自减