为了账号安全,请及时绑定邮箱和手机立即绑定

说明具体计算过程

#include <stdio.h>int main(){
  int n1 = 1;  int n2 = 2;  int r1 = n1 + n2 + ( n2 ++ );  printf("r1 = %d, n2 = %d \n", r1, n2);
  return 0;}


正在回答

2 回答

这里就涉及到a++和++a 的区别了 ,通俗的说,a++是先取值在自增一,而++a是先自增一再取新的值。代码r1实质就是1+2+2=5,而在输出的时候,已经是加一后的新值了,祝成功

2 回复 有任何疑惑可以回复我~

输出结果为:r1=6,n2=3

因为()的优先级高于"+"号,所以先进行括弧里面的运算,但由于n2++是先使用值再加一,所以此时(n2++)的值为2,当再次使用n2时,n2的值会变为3,所以r1=1+3+2=6。

0 回复 有任何疑惑可以回复我~
#1

慕虎4930148 提问者

实际的运行结果是r1=5,n2=3, 在计算过程中n2的值是2
2017-07-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

说明具体计算过程

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信