6个回答
展开全部
你可以这样来想:++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加,如果是先加,那么最后的表达式的结果就是a的值加1,如果是后加的话,则表达式的值就是原来a的值;而无论是先加,还是后加,a的值计算后一定会加1。
比如:
如果a=1,b=a++,运算完b=1,a=2
如果a=1,b=++a,运算完b=2,a=2
当然也可以这么理解:
a++就是a=a+1,其含义就是现将后面的a赋值给前面的a然后再加1.
++a就是a=1+a,其含义就是先对后面的a加1然后再赋值给前面的1.
但这只是在表达式中.
如果在单独的语句中二者都没有什么区别!
列:int a=1,b=1;
a++;++b;//这里就是语句!
printf("%d%d",a,b);
输出都是2.
而表达式则是if((a++)==1)和if((++a)==1)这里就有区别了!
呵呵,谢谢.
比如:
如果a=1,b=a++,运算完b=1,a=2
如果a=1,b=++a,运算完b=2,a=2
当然也可以这么理解:
a++就是a=a+1,其含义就是现将后面的a赋值给前面的a然后再加1.
++a就是a=1+a,其含义就是先对后面的a加1然后再赋值给前面的1.
但这只是在表达式中.
如果在单独的语句中二者都没有什么区别!
列:int a=1,b=1;
a++;++b;//这里就是语句!
printf("%d%d",a,b);
输出都是2.
而表达式则是if((a++)==1)和if((++a)==1)这里就有区别了!
呵呵,谢谢.
展开全部
例如N,在执行++a时,先变成N+1,然后再执行程序,执行完一边程序后变成N+2再执行,依次循环。
N在执行a++时,先执行一遍程序,然后变成N+1再执行,依次循环。
也就是说++a表示先增加,然后执行;a++表示先执行后再增加。
这样说也不知道你是否能懂,呵呵。
N在执行a++时,先执行一遍程序,然后变成N+1再执行,依次循环。
也就是说++a表示先增加,然后执行;a++表示先执行后再增加。
这样说也不知道你是否能懂,呵呵。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
an和a的区别,用法区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(++a)是先加后用
(a++)是先用后加
例如:a=2,b=a++:则b=2,a=3;
a=2,b=++a ,则b=a=3
(a++)是先用后加
例如:a=2,b=a++:则b=2,a=3;
a=2,b=++a ,则b=a=3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
+在前就是先让A=A+1,然后使用A的值
+在后就是先使用A的值,然后让A=A+1
简单好记
+在后就是先使用A的值,然后让A=A+1
简单好记
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询