熟悉++和--的用法 特别注意在前和在后的区别

熟悉++和--的用法 特别注意在前和在后的区别

操作方法

  • 01

    下面看几个例子#include <stdio.h>main(){int a=0; printf("a=%d\n",a++); printf("a=%d\n",a);}    ++在后,所以是先运算后递增,第一个a++ 相当于 a=a+1 也就是 a=0+1 此时的a本来就是0 所以第一个a结果是a=0,也就是=后面的那个a运算后,a=1,也就是递增后的结果,所以第2个结果是a=1,=号前面的那个a#include <stdio.h>main(){int a=0; printf("a=%d\n",++a); printf("a=%d\n",a);}    ++在前 ,后递增再运算    ++a 也等于a=a+1     递增结果为a=1 运算结果也是a=1所以两个a都是a=1以下的程序就不说原因了,大家自己想#include <stdio.h>main(){int a=0; a++;  printf("a=%d\n",a++); printf("a=%d\n",a);}    结果为a=1,a=2#include <stdio.h>main(){int a=0; a++;  printf("a=%d\n",++a);     printf("a=%d\n",a);}    结果a=2,a=2#include <stdio.h>main(){int a=0; ++a;  printf("a=%d\n",a++); printf("a=%d\n",a);}    结果a=1,a=2#include <stdio.h>main(){int a=0; ++a;  printf("a=%d\n",++a); printf("a=%d\n",a);}    结果a=2,a=2a++和++a你们有些应该有点晕了吧让我们用数学运算在了解一次int a=0,b=3;a=(b++)+(b++)+(b++);++在后是先运算后自加    所以先运算 a=3+3+3    结果a=9然后b再自加,自加3次,所以b=6int a=0,b=3;a=(++b)+(++b)+(++b);++在前是先自加后运算 自加3次 先自加 b+1=4    存到第一个b里 b此时是4                               再自加 b+1=5    存到第二个b里 b此时是5                             再自加 b+1=6    存到第二个b里 b此时是6结果a=4+5+6 a=15     b=6注意在VC6.0编译器,这里的结果是a=16,b=6有的编译器结果还是这样 a=6+6+6=18 a=18所以根据编译器的不同结果也会不同,只限制为++在前的多运算,这个你也不需要太困惑,++在前的多运算我们很少用到#include <stdio.h>main(){int a=0,b=3;a=(b++)+(b++)+(b++);printf("a=%d\n",a);printf("b=%d\n",b);a=0,b=3;        //变量a重新归零,b重新归3a=(++b)+(++b)+(++b);printf("a=%d\n",a);printf("b=%d\n",b);}    结果a=9 b=6a=16 b=6如果int a=1,b=2,c;c=a++*b 结果是多少?c=a++*b可以看成c=(a++)*b    等于 a*b a++++在后先参与运算后递增 先a*b 后a++结果c=2c=++a*b 可以看成c=(++a)*b 等于 ++a a*b++在前先递增后参与运算 先++a 后a+b结果c=4下面是程序:#include <stdio.h>main(){int a=1,b=2,c=0;c=a++*b;printf("c=%d a=%d\n",c,a);a=1,b=2,c=0;c=++a*b;printf("c=%d a=%d\n",c,a);a=1,b=2,c=0;c=a++*b++;printf("c=%d a=%d b=%d\n",c,a,b);a=1,b=2,c=0;c=++a*++b;printf("c=%d a=%d b=%d\n",c,a,b);补充 :a--和--a的用法也是一样的++和--运算符非常高效,++和--编译后值生成一条语句,而用+1或-1进行加1或减1不会总是这么高效

(0)

相关推荐

  • Word 2010怎样更改段前或段后的间距

    用于更改整篇文档的段落间距的最简单方法是:应用使用所需间距的快速样式集。如果希望更改文档的一部分内容的段落间距,可以选择相应的段落并更改它们的段前间距和段后间距设置。 使用样式集更改整篇文档的段落间距 ...

  • Excel如何实现换行前一行变成后一行数字

    excel如何实现换行。前一行变成后一行的数字? 看图吧。不是专业的说不清楚。就是比如说列到E,,行到50 每次给A1给输入数字。b1就变成A1的,,,c1就变成b1...e1就变成c1。。到e1结束 ...

  • 在excel表格中如何在数据前或数据后加入0?

    在日常工作中,总会接触很多的数据,有时候需要在数据前或者数据后加入0值,一个个设置会很麻烦.以下就介绍一下,如何给excel表格中的数据加入0值.(以Microsoft Office Excel 97 ...

  • 怎么将Excel表格里特定的字符前和字符后文本删除

    今天,小编给大家介绍将Excel表格里特定的字符前和字符后文本删除的方法,希望对大家有所帮助.具体如下:1.首先,请大家在自己的电脑中找到[Excel]图标,点击进入主界面,小编打开的是如图所示的一个 ...

  • Word中如何设置段前和段后间距?

    我们平时经常会需要调整Word文档的间距,除了较多的行间距以外,有时候还需要调整段落之间的间距,而且段落间距分为段前距和段后距,不过调整的方法是一致的,下面小编以Word2013为例,给大家介绍一下调 ...

  • 解决UG后处理前和后处理后坐标不一样的方法

    很多朋友喜欢在UG里面编制数控加工程序,因为他全能嘛.他可以从产品设计到加工一站式完成.但是大家最关心的也是最容易出问题的就是在后处理上面.有些朋友或者一些大公司愿意花钱为机器量身定制后处理,那这一类 ...

  • word 2007如何快速调整段落、段前、段后间距

    word文档一般输入大量的文字,文字想要看着漂亮,段间距.行间距是必须设置的,下面就详细介绍一下wordword 2007如何快速调整段落.段前.段后间距 方法1 01 选中全文,然后右击,点击段落 ...

  • Word 2010怎样调整段前和段后的间距?

    在Word2010中,段前段后间距的调整方法是比较简单的,我们一起来看看吧! 操作方法 01 打开Word文档 02 选择需要调整段前.后距的所有段落 03 找到"开始"选项卡中的 ...

  • iPhone6升级前和升级后的系统哪个更好?

    [看法一] 个人觉得任何手机出厂后都不要升级,原因很多 1.配置问题,系统不断升级,不断有新功能,需要更好的配置,更高功耗.而手机的配置是固定死的,运行起来当然有压力,就会卡顿,迟缓,死机,发烫-等 ...