i++与++i
i++规定先使用i,再加加。遵循这个原则,做题做一个,错一个。自己理解偏差,还差点把别人带沟里去。
例如 k=11 k++结果与k的值分别是多少
还望各位大侠抽出宝贵的时间帮我解决一下。
[解决办法]
k++的结果为11,k自增变为12
[解决办法]
i++和++i在没有赋值的情况下,作用都是相同的,如
int k=11;k++;//k=12++k;//k=13
[解决办法]
首先,要知道的是前缀和后缀操作符++产生的值都是原始变量的一份拷贝,只不过拷贝的时机不一样,前缀++是在进行增值后进行拷贝,而后缀++实在拷贝后才增值。
简单的说,int j = 1; int k = j++; 首先,++操作产生j的一份拷贝,然后j本身增值,最后将拷贝的值赋给k。
而对于int m = ++j; ++操作先增加变量j的值,再对j进行拷贝,最后拷贝的值赋给m。
要明确的就是,++操作产生的是原始变量的一份拷贝
《C和指针》书中大概是这么说的
当然,我认为最好的办法是调试,然后观察它的反汇编窗口,那么一切尽在你眼底了
[解决办法]
[code=C/C++][/code]
#include<stdio.h>
void main()
{
int k=11;
printf("%d\n",k);
printf("%d\n",k++);
printf("%d\n",k);
}