新手共同讨论自加自减问题 在线===
刚开始学,我是自学的,不懂得地方没老师可问,各位大虾帮忙啊 我学的是大专教材,现在正上高中,高二.
现在刚学到运算, 接触拉 自加自减, 看的不是太明白
书上面讲i++表示使用后加1,````
我不知道什么叫"使用前,使用后".
还请知道的大峡门,仔细的讲解以下
或告诉我那有着方面的教材
谢谢!!!
搜索更多相关的解决方案:
在线
----------------解决方案--------------------------------------------------------
首先,令i=0。
i++作为一个表达式来讲,有自身的值,我们可以把这个值复制给a,
如
a=i++;
则运行过这条语句后,a=0, i=1,即i++的意义是:先赋值(给表达式),再(自身)加一。
若令j=0;
b=++j;
则运行过这句后,b=1,j=1,即j++的意义是:先(自身)加一,再赋值(给表达式)。
类似于这种简单表达式,可以在编译器中自己运行并验证结果的。当然,如果真打算学c++的话,找本书系统的看几遍还是必要的,如 c++ primer plus第5版。
----------------解决方案--------------------------------------------------------
感谢啊
一点几通 ~~
呵呵 明白拉
----------------解决方案--------------------------------------------------------
这个问题就是别一会++i 又一会 i++ 用的过多
一旦让系统发现 你搞我我也搞你 一会就把你搞晕了
[[italic] 本帖最后由 xianshizhe111 于 2008-1-11 17:43 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
可以通过编程来看一下
include<stdio.h>int main()
{
int a=5.b=5,j,k,m,n;
j=(a++)+(a++)+(a++);
k=(++a)+(++a)+(++a);
m=(a--)+(a--)+(a--);
n=(--a)+(--a)+(--a);
printf("%d,%d,%d,%d",j,k,m,n);
}
看下结果,再看下2楼的解释,就基本明白了~
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]菜鸭[/underline][/bold] 于 2008-1-11 19:03 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1178442&ptid=197060][/url]
include
int main()
{
int a=5.b=5,j,k,m,n;
j=(a++)+(a++)+(a++);
k=(++a)+(++a)+(++a);
m=(a--)+(a--)+(a--);
n=(--a)+(--a)+(--a);
printf("%d,%d,%d,%d",j,k,m,n);
}
看下结果,再看下2楼的解释,就基 ...
include
int main()
{
int a=5.b=5,j,k,m,n;
j=(a++)+(a++)+(a++);
k=(++a)+(++a)+(++a);
m=(a--)+(a--)+(a--);
n=(--a)+(--a)+(--a);
printf("%d,%d,%d,%d",j,k,m,n);
}
看下结果,再看下2楼的解释,就基 ...
千万不要用这种程序,否则你肯定明白不了,应该试试这样的程序
#include <stdio.h>
int main()
{
int i=0,j=0
j=i++;
printf("i=%d,j=%d\n",i,j);
i=j=0;
j=++i;
printf("i=%d,j=%d\n",i,j);
return 0;
}
----------------解决方案--------------------------------------------------------
使用前就是原来的值在参与运算之前就自加,使用后就是参与运算后再自加.
----------------解决方案--------------------------------------------------------