自增自减的学习

发布时间:2024-11-08 01:52 发布:上海旅游网

问题描述:

大家说说对自增自减学习的经验,那些一知半解的人不要来误导我,说的好的在送50分

问题解答:

自增自减是分两种的,一种是前坠(++i,--i),一种后缀(i++,i--),两种有很大的区别,前缀自增自减是先运行本身,后运行其他.后缀自增自减是先运行其他在运行本身.
列举两个例子:

a=1;
a=(a++)+(++a)
最后a的结果是4;
分析,第一个a++ 是先不运行本身的字加的,结果是1.后一个++a是先运行自身加加,所以结果是2.结果的最后要有个自身的加加,所以结果是4.
a=1;
a=(++a)+(a++)
最后结果是5;
分析,第一个++a是先运行本身的自加,所以a=2.而后一个a++里面的a的值是2,所以相加的结果是4,结果的 最后要有一次本身的自加所以结果是5.
a=1;
a=(a++)+(++a)+(a++)
结果是7;
分析,第一个a++也是不运行本身的自加,结果是1.第二个++a是要运行本身的自加所以结果是2.第三个a++,由于受第二个自加的影响a本身的值也变成2了.运行结果的最后,由于有两次的本身自加,所以最终的结果是7.

相信通过以上三个例子你会对这个自增自减了解很多的,自减的规则和自加是一样的,所以也就不在举例子了.

首先,要理解自增就是加一,自减就是减一。其次,有前置和后置之分,还有此运算符只能用做变量,不能用于常量和表达式的操作。
然后,通过大量的实例进行说明。

谢谢LZ谢谢1L,受教了

#include"stdio.h"
main()
{ int x=11,y;
y=x++*1/3;
printf("y=%d\n",y);
}
这个程序的结果为3。

#include"stdio.h"
main()
{ int x=11;
x=x++*1/3;
printf("x=%d\n",x);
}
这个程序的结果为4。

x++的通俗意思是先运算后增1

第一个程序的y=x++*1/3可以扩展为
y=x*1/3
x=x+1;
所以y是3

而第二个的x=x++*1/3可以这么认为
x=x*1/3
x=x+1;
所以x为4

但在一个语句里即涉及运算符的使用,又修改了该运算符,这是不好的写法,应避免使用

总结下:
a++;
等于
a;
a=a+1;

++a;
等于
a=a+1;
a;

自增与自减就是分别加减1.
不同的就是先加减还是使用。
a++ 和a-- 是先用后加减,
++a 和--a 是先加减后使用。

热点新闻