c语言的自增自减运算符的题,求思考过程
#include"stdio.h"voidmain(){inti=5,j=5,p,q;p=(i++)+(i++)+(i++);q=(j++)+(j++)+(j++);pr...
#include "stdio.h"
void main()
{
int i = 5, j = 5, p, q;
p=(i++)+(i++)+(i++);
q=(j++)+(j++)+(j++);
printf("%d,%d,%d,%d",p,q,i,j);
}
我口算结果和电脑的完全不一样,求大家帮我解释一下吧!!谢谢了 展开
void main()
{
int i = 5, j = 5, p, q;
p=(i++)+(i++)+(i++);
q=(j++)+(j++)+(j++);
printf("%d,%d,%d,%d",p,q,i,j);
}
我口算结果和电脑的完全不一样,求大家帮我解释一下吧!!谢谢了 展开
8个回答
展开全部
你的问题我觉得涉及到对自增运算符的理解,++i意味着“立即自增i”,而i++则意味着“现在先用i的原值,稍后再自增i”,这个稍后应该理解为是在下一条语句执行前i将进行自增。
所以结果是15,15,8,8
所以结果是15,15,8,8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++i i自增1后再参与其它运算。
--i i自减1后再参与其它运算。
i++ i参与运算后,i的值再自增1。
i-- i参与运算后,i的值再自减1。
结果很明显15,15,8,8
希望采纳
--i i自减1后再参与其它运算。
i++ i参与运算后,i的值再自增1。
i-- i参与运算后,i的值再自减1。
结果很明显15,15,8,8
希望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个没有标准答案,在一个语句中,一个变量有多次自增自减并且用于赋值或比较,在不同编译器下工作是不同的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在不同的编译器中可能有不同的处理行为,在发VC7中
p=(i++)+(i++)+(i++); 等效于 p = i + i + i; i++, i++, i++;
p=(i++)+(i++)+(i++); 等效于 p = i + i + i; i++, i++, i++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询