
C++语言中,既有++i,又有i++,请问有何区别?
13个回答
展开全部
1 首先要知道表达式的值的概念
2 假设你知道1:
++i和i++对i的影响都一样
int i = 0;
int m = ++i; //i=1
int j = 0;
int n = j++; //j=1;
那么他们的区别在那里呢:
把++i和j++看成一个整体,它们相当于两个表达式,这两个表达式的值不同
前自增表达式的值就是自增后i的值,所以:m = 1;
后自增表达式的值是自增以前j的值,所以:n = 0;
2 假设你知道1:
++i和i++对i的影响都一样
int i = 0;
int m = ++i; //i=1
int j = 0;
int n = j++; //j=1;
那么他们的区别在那里呢:
把++i和j++看成一个整体,它们相当于两个表达式,这两个表达式的值不同
前自增表达式的值就是自增后i的值,所以:m = 1;
后自增表达式的值是自增以前j的值,所以:n = 0;
展开全部
++i和i++他们的 结果都使i变为i+1.
只是++i用的结果是i+1,i++用的结果是i
只是++i用的结果是i+1,i++用的结果是i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++I,是先加,I++是后加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i=1;
printf("%d",++i);结果是2 先加 后执行
i=1;
printf("%d",i++); 结果是1 先执行 后加
printf("%d",i);结果是2
printf("%d",++i);结果是2 先加 后执行
i=1;
printf("%d",i++); 结果是1 先执行 后加
printf("%d",i);结果是2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++i的意思是先给i加1后再把得出的值赋给变量,而i++则是先把i的值赋给变量,然后再给i加1.
举个列子说:m=2,i=1;
m=++i,就是先给i加1,也就是i=2,然后再把结果给m,m=4,最后的结果是m=4,i=2,表达式的结果是4;
m=i++,就是先将i赋给m,m=3,然后再给i加1,i=2,最后的结果m=3,i=2,表达式的结果是3.
举个列子说:m=2,i=1;
m=++i,就是先给i加1,也就是i=2,然后再把结果给m,m=4,最后的结果是m=4,i=2,表达式的结果是4;
m=i++,就是先将i赋给m,m=3,然后再给i加1,i=2,最后的结果m=3,i=2,表达式的结果是3.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看书,这种问题也发帖
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询