C语言问题 int i=1; j=(i++,i+3),怎么输出的是j=5 我怎么觉得是i先用1,然
C语言问题inti=1;j=(i++,i+3),怎么输出的是j=5我怎么觉得是i先用1,然后用于i+3计算,输出4呢?最后才加1变为2...
C语言问题
int i=1;
j=(i++,i+3),怎么输出的是j=5
我怎么觉得是i先用1,然后用于i+3计算,输出4呢?最后才加1变为2 展开
int i=1;
j=(i++,i+3),怎么输出的是j=5
我怎么觉得是i先用1,然后用于i+3计算,输出4呢?最后才加1变为2 展开
展开全部
I++是执行完后面的语句才加1;而++I就先做I+1才执行后面的语句。但是因为不管咋样都是+1所以结果不会变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以这样想 j =i++的话, j = 1,但是 i = 2;
所以(i++, i+3),i 的值是先算 i++,i变成2,再计算 i+3,最后的结果赋给 j ,就成了5
所以(i++, i+3),i 的值是先算 i++,i变成2,再计算 i+3,最后的结果赋给 j ,就成了5
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
括号里面是个逗号表达式 第一个表达式做完i++ i就等于2了 在做第二个表达式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先i++,i就等于2了呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的是c++吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询