wssh.net
当前位置:首页>>关于k++的资料>>

k++

在C语言中,如果一个数字想自身加1,可以使用k = k + 1;这种表达式。如果开始时K=1,则经过此运算后,k的值变为2,C语言考虑到程序的简捷性,所以使用k++,它与k = k + 1;的作用是一样的。 另外,你需要知道k++与++k的不同,二者虽然都是在原来...

++k:先自加再取值,k++:先取值在自加 例如: #includeint main(){int a=1,b=1,c,d;c=a++;//c先取a的值,a再自加 d=++b;//b先自加,d再取b的值 printf("a:%d,b:%d,c:%d,d:%d\n",a,b,c,d); return 0;}/*运行结果:a:2,b:2,c:1,d:2 */

两者的效果是一样的,都是在原先的基础上增加1;但在理论上,++k的速度更快一些,因为它没有用额外的寄存器,而k++用了额外的寄存器

k+=2等价于k = k + 2,也就是k自增2。 k+=3同上。 k++等价于在当前行语句执行完毕后执行k = k + 1,也就是k自增1。

*k++和*(k++) 没有区别,是同一个意思。 printf("%d\n",(*k)++); 输出*k=5 *k=5+1=6 printf("%d\n",*a++); 输出*a=6 a=a+1指向10 printf("%d\n",*(b++)); 输出*b=6 b=b+1指向10 printf("%d\n",*(++m)); 先m=m+1指向10,输出*m=10printf("%d\n",*...

这么给你解释吧。前置递增++k这个表达式执行两步,将k自加一,然后返回的结果是改变后的k。 而后置的k++第一步是自加一,但是第二步返回的结果是改变之前的k的拷贝值。

b[k++]=" " 相当于b[k]=" ";k++,也就是先把右边的值赋给b[k]然后k再加1, 如果是b[++k]=" ",就相当于b[k+1]=" ",也就是k先加1 然后再把右边的值赋给b[k], b[k++]=" "; b[k]=" ";k++ 两者等价

当k超出范围时,会变为负数,然后变为0.

k++返回的是k的值,k+=1返回的是k+1的值,++k返回的是k+1的值,k+1返回的是k+1的值,所以k++的值不同。

k++, k++ 可以被看成是 k+=2 把它写成 for (k=2; k

网站首页 | 网站地图
All rights reserved Powered by www.wssh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com