i--和--i的区别是什么啊?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
i++ 和i-- 有什么区别? C语言

i++和i--的区别:
1、运算方式
i++属于自增运算,相当于i=i+1;
i--属于自减运算,相当于i=i-1;
2、值的变化:
假设i=10,分别运行i++、i--后;
i++后:i=i+1=10+1=11;
i--后:i=i-1=9。

扩展资料:
无论i++,还是i--,这两个公式既可以单独存在,也可以赋值给另外的变量。当赋值引用的时候,他们的含义:
1、i++,先引用i的值,后增加i的值,
如int i=10;
int a=i++;
该程序运行后,a=10,而i=11。
2、i--,先引用i的值,后i的值减1。
如int i=10;
int a=i--;
该程序运行之后,a=10,i=9。
除了以上的用法外,还有一种表示法是++i或者--i,这种表示法i的值也会相应的自增1或者自减1,i的结果和i++与i--是相同的,但是当赋值给另一个变量时,对赋值的变量,结果却存在差别,因为++i代表先增加,后引用,--i代表先减少,再引用。
例如同样的程序,i=10,
如果int a=i++,那么a=10;而int b=++i的话,b=11;
如果int a=i--,那么a=10;而int b=--i的话,b=9。

这种算法要用例子才能说明的了!比较全面的例子好像这样:

当i=5时,求s=(++i)+(++i)和s=(i++)+(i++)的值

当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,再计算第二个(++i),++在前面,也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13.
s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了!所以s=(i++)+(i++)=5+6=11.

相信你看得懂这个例子,基本上就会怎么算了!
i--和--i跟i++和i++是一样算法的,只不过一个是加一个是减!
------白猪(幸福快乐)

--i 是先执行i=i-1,然后再使用i的值, 这时的i值就是表达式--i的值。

i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。

#include"stdio.h"

void main()

{

int i=4,j,k;

j=i--;    //i先赋值给j,然后i在执行i=i-1;

k=--i;    //i先执行i=i-1,然后再赋值给;

printf("i=%d,j=%d,k=%d",i,j,k);

}

运行结果为: i=2,j=4,k=2

赋值语句

将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。

注意很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。

例如,给变量a赋值一个数为12,则格式为:a = 12 [注意:变量(即a)只能是一字母,而赋予的值可以是一个式子,当它是式子时,a的值就是这个式子的结果。



--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。

#include"stdio.h"
void main()
{
int i=4,j,k;
j=i--;    //i先赋值给j,然后i在执行i=i-1;
k=--i;    //i先执行i=i-1,然后再赋值给;
printf("i=%d,j=%d,k=%d",i,j,k);
}

运行结果为: i=2,j=4,k=2

扩展资料

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。

因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

参考资料:c语言_百度百科



--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。
i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。

  • i--和--i的区别是什么啊?
    答:--i 是先执行i=i-1,然后再使用i的值, 这时的i值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){ int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
  • --i 和 i-- 有什么区别
    答:--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
  • i--和--i分别代表什么?
    答:i--就是i先参加其他运算,然后自身减1。--i就是i先自身减1,然后再参与其他运算。++ i先执行i +1,然后执行程序i ++先执行程序,然后执行i +1 int i = 8; printf(“%d \ n”,++ i)首先执行加法,因此打印输出为9 printf(“%d \ n”,-i)。首先执行减法,打印输出为8 printf...
  • 谁能详细的给我讲一下i++,++i,i--,--i的区别阿
    答:1、运算符类型不同:i++使用的是后置自增运算符,++i使用的是前置自增运算符,i--使用的是后置自减运算符,--i使用的是前置自减运算符。递减操作符是“--”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。2、运算规则不同:++i表示,i自增1后再参与其它运算;而i++...
  • c语言中i--,--i和-i--有什么区别
    答:--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
  • 谁能帮我讲讲i--和--i的用法区别
    答:两个表达式都会把i的值减1,但表达式i--的值是i原来的值,--i的值是减1之后的值。一般不太建议把这两个东西放到大表达式中去,因为很容易混乱。常用的用法有:(1)独立当语句用,此时功能就是把i减一,两者等效;(2)用在赋值语句中。如 a=i--; 等价于 a=i; i--;a=--i; 等价于 i-...
  • ++i、--i和i++、i--的区别理解
    答:++i、--i和i++、i--的区别:1、执行时间先后顺序不同。++i 先执行i+1后执行程序 i++ 先执行程序后执行i+1 int i=8; printf("%d\n",++i),先执行加法所以打印出来的是9 printf("%d\n",--i)。2、执行减法的先后程序不同。先执行减法 打印出来是8 printf("%d\n",i++)。先执行...
  • i--; --i; i=i-1; i=-1; i-=1; 谁给我分析下这五个的区别啊
    答:i--;是先用i完成所在表达式运算后在执行i=i-1;--i;是先执行i=i-1再执行所在表达式的运算。i=i-1;就是i-=1;i=-1;是把值-1赋给变量i
  • java的 i++ ,++i ,i-- ,--i什么意思啊?
    答:i++是i变量自增1,就是i=i+1的简写,后面的也是一样,都是简写。但是i++与++i是有差别的,int i=1;int num=i++;system.out.println(num);这是输出的Num=1的 int i=1;int num=++i;system.out.println(num);这时输出的Num=2。也就是说,i++是先赋值,后自增。而++i是先自增,...
  • i--和--i的区别
    答:简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。而 a = ++i,相当于 i=i+1; a = i;而 a = i++,相当于 a = i; i=i+1;i++ 是后缀运算,就是 先取出 i 的值,i再 +1 ++i 是前缀运算,就是 i先+1,再取i 的值 ...