C和C++中,自加++自减--都是从右向左运算。
a=++i, 从右向左就是i变量的左边是++,先自增1,即(i+1)运算后给a赋值,--于此相同。
a=i++, 从右向左就是i变量的左边是=,先赋值,然后才到++,即i自增。
即使我们加上括号a=(i++), 也不能改变自右向左结合的顺序。( )无法改变优先级使i先自增。--于此相同。
验证代码如下:(C++代码)
/////////////////////////////////////////////////////////////
#include<iostream>
using namespace std;
int main()
{
int a=10;
int b=a++; //++在后,就是先用再加,即先输出在自加1
cout<<a++<<endl;
cout<<"JustFor b: "<<b;//验证a++
cout<<"\nJustFor a: "<<(a++)<<endl; //加括号也无法改变优先级
cout<<a<<endl;
return 0;
}
///////////////////////////////////////////////////////////
输出:
11
JustFor b: 10
JustFor a: 12
13
////////////////////////////////////////////////////////
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:615 |
九宫重排 (C++代码)浏览:1353 |
这可能是一个假的冒泡法浏览:1034 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:632 |
剪刀石头布 (C语言代码)浏览:769 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:589 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:635 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:906 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:687 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:543 |