i++与++i是什么意思? |
您所在的位置:网站首页 › 韵母i前i后是什么意思 › i++与++i是什么意思? |
自增(++),自减(--)运算符
谭浩强的书是这样描述的: 自增(++)自减(--)运算符的作用是使变量的值加1或者减1,例如: ++i,--i(在使用i之前,先使i的值加(减)1) i++,--i(在使用i之后,使i的值加(减)1) 粗略的看,++i和i++的作用相当于i=i+1。但++i和i++的不同之处在于:++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。如果i的原值等于3,请分析下面的赋值语句。 ①j=++i;(i的值先变为4,再赋值给j,j的值为4) ②j=i++;(现将i的值3赋给j,j的值为3,然后i变为4) 又例如 i=3 printf(“%d”,++i); 输入为4,若改为 printf(“%d”,i++) 则输出为3。 自增自减运算符常用于循环语句中,使循环变量自动加1;也用于指针变量,使指针指向下一个地址。 有些专业人士在使用++和--时喜欢运用一些技巧,但是往往会出现一些意想不到的结果,例如i+++j,是理解为(i++)+j还是i+(++j)呢?程序应当清晰易读,不容易引起歧义。建议谨慎使用++与--运算符,只运用最简单的形式i++与i--。而且把他们作为单独的表达式,而不要在一个复杂的表达式中使用++与--运算符 总结:i++ 即后加加,原理是:先自增,然后返回自增之前的值 ++i 即前加加,原理是:先自增,然后返回自增之后的值 (都是先自增,然后反回值) 一个变量也是表达式,多个表达式的加减法运算都是从左到右进行的 真实编程中,我们不会写这些复杂的i++代码,但是在考试,笔试中可能有关于i++的用法不同判断 下面举一个例子: #include int main() { int n=9,a; while (n>6) { a=n--; printf("%d\t",n); printf("%d\n",a); } return 0; }我们发现n--后,n先减1,然后返回自增之前的值。 这时自增前的值就赋给a 再举个例子: #include int main() { int n=9; while (n>6) { printf("%d\n",n--); } printf("\n"); int m=9; while (m>6) { printf("%d\n",--m); } }有什么不足的地方欢迎各位大佬指正 操作系统:Windows10 软件:Devc++ 编译器:TDM-GCC 4.9.2 64-bit Release |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |