C语言,i--和--i有什么区别,怎么用?

如题所述

--i和i--都是自减运算符
--i称为前缀运算,i--称为后缀运算
前缀运算后,表达式的值为原变量值减1;
后缀运算后,表达式的值仍为原变量值;
而变量值不论前缀运算还是后缀运算都减1。
例如:i=10;
--i的值为原变量值减1,是9;现在的变量i也是9
i=10
i--的值为原变量值,是10;而变量i现在就是9
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-25
这要看你想要变量i的值,还是表达式的值,如果是要变量i的值,那么,如果i=1;
i++和++i都会让变量i自动加1,变成2.
如果你想要表达式的值,那就有所区别了,举个例子:
如果
int
i=1;
那么表达式i++的值是1(先取i原有值作为表达式的值,而后i自动加1)
而表达式++i的值是2(先让变量i自动加1,而后的
i
的值作为整个表达式的值)
第2个回答  2019-09-29
int i = 5;
int k = 5 - i --;
/*
结果得0, i--并不在本行语句执行,只有本行语句执行完后,才真正的执行i-- , 所以本 行语句, i-- 还是5
*/
int i = 5;
int k = 5 - --i;
/*
结果得1,立刻在本行语句执行--i, --i变成4
*/
第3个回答  2019-03-10
执行这两个语句i都变成了i-1。但是i--本身的值依然是i,而--i的值就变成i-1了。
举个例子
int
a,i=5;
a=i--;这时候a=5
i=4
a=--i;这时候a=4
i=4
第4个回答  2019-10-15
二者单独写没有任何区别。
但是如果
i=3;
a=i++;

a=++i;
就有区别了,前者a=3
后者
a=4
相似回答