int k=8;printf("%d,%d\n",k,++k)与 printf("%d,%d\n",k,k++)为什么一个输出的是9,9 另一个是8,8
第一个
int k=8;
printf("%d,%d\n",k,++k);
//-------------
int k=8;
k = k+1;
printf("%d,%d\n",k,k);
第二个
int k=8;
printf("%d,%d\n",k,k++);
//-------------
int k=8;
printf("%d,%d\n",k,k);
k = k+1;
k++与++k的区别:
遵循就近原则
m1=k++即为m1=k,k=k+1;
m2=++k即为k=k+1,m2=k,
当k=8时,m1=8,m2=9
看看++前置和后置的区别就明白了
这个是日经了,日日讲,月月讲,++i与i++区别
operator++()前缀++ ,即俗气的i++,返回i+1
operator++(int)后缀++,同样俗气的++i,i+=1并返回旧值