C语言自加自减问题
请教各位高手~i=3printf("%d,i++)输出为什么是3,而不是4?还有,若i=5那-i++输出是怎么算的?是按(-i)++运算,还是按-(i++)运算?我看的那...
请教各位高手~
i=3
printf("%d,i++)
输出为什么是3,而不是4?
还有,若i=5
那-i++ 输出是怎么算的? 是按(-i)++运算,还是按-(i++)运算?
我看的那本书上前后答案不一致,把我弄混了- -!
好了再追加20分~
i=3
printf("%d,i++)
懂了,是输出表达式的值3,不是i的值4,对吧?
而-i++也是,i=5
printf("%d,-i++)
输出表达式的值是-5,而i的值是-6 对吗? 展开
i=3
printf("%d,i++)
输出为什么是3,而不是4?
还有,若i=5
那-i++ 输出是怎么算的? 是按(-i)++运算,还是按-(i++)运算?
我看的那本书上前后答案不一致,把我弄混了- -!
好了再追加20分~
i=3
printf("%d,i++)
懂了,是输出表达式的值3,不是i的值4,对吧?
而-i++也是,i=5
printf("%d,-i++)
输出表达式的值是-5,而i的值是-6 对吗? 展开
5个回答
展开全部
printf(“%d”,i++)按顺序是先把i赋给%d,然后执行++,所以输出3,而不是4,如果改成++i,输出的就是4,可以做个试验确认一下。
同理,-i++按顺序先执行-i。然后++,所以应是(-i)++
同理,-i++按顺序先执行-i。然后++,所以应是(-i)++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你想输出为4,可以把“i++”改为“++i”。
关于后面那个,应该是-(i++)如果你输入的是5,得到的结果是-5,这个我也不太懂,不过运行一下的确是这样。(-i)++;这个语句本身就是错误的,不妨试运行一下就知道了。
关于后面那个,应该是-(i++)如果你输入的是5,得到的结果是-5,这个我也不太懂,不过运行一下的确是这样。(-i)++;这个语句本身就是错误的,不妨试运行一下就知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++操作意思是在i被使用后才+1,也就是说当前使用时事3,之后使用i时就是4了。++i的话就是4了,这个是先+1再使用。
按-(i++)运算,这个你可以参考各运算符的优先级顺序。
按-(i++)运算,这个你可以参考各运算符的优先级顺序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-09-11
展开全部
类似的问题前几天有人问过。
链接如下:
http://zhidao.baidu.com/question/181867718.html
i++ ++是自增。表达式求值时用i原来的值,用完之后,i再自增。
所以printf("%d,i++)
先把3打印出来。然后i自增变成了4.
如果是
printf("%d,i++)
printf("%d,i)
则会输出3 4.
关于-i++,你去看我上面给的链接吧。
都是我回答的。
链接如下:
http://zhidao.baidu.com/question/181867718.html
i++ ++是自增。表达式求值时用i原来的值,用完之后,i再自增。
所以printf("%d,i++)
先把3打印出来。然后i自增变成了4.
如果是
printf("%d,i++)
printf("%d,i)
则会输出3 4.
关于-i++,你去看我上面给的链接吧。
都是我回答的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i=2;a=i++;先把i的值赋给a,所以a=2;然后赋值过后,i自增为3;
若a=++i;则是i先自增然后再赋值给a.
(-i)++
若a=++i;则是i先自增然后再赋值给a.
(-i)++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询