永发信息网

新手学C,有些不理解的地方求指教 关于++ 1、定义int x=2 则, x+

答案:1  悬赏:60  手机版
解决时间 2021-02-23 06:11
  • 提问者网友:雪舞兮
  • 2021-02-22 11:01
新手学C,有些不理解的地方求指教 关于++ 1、定义int x=2 则, x+
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-02-22 12:04
关键点两个
逗号表达式
  执行每个逗号分隔的语句但返回值是最后一句的值


自增,自减运算符放前放后的区别
  放前:先自增再取值
  放后:先取值再自增
举个例子
int i = 0;
printf("%d",i++); // 输出0
i = 0;
printf("%d",++i); // 输出1 
第一个问 x++,2*x
执行完x++ x就自增1了接着执行 2*x 最后返回的就是2*3=6了 


第二个问题
c=(i+7,i++)

执行i+7但是并不取值所以无变化 
这个语句可以理解为 c=i++;
先取值再自增 c = 5 
追问那上面的为什么是6呀,不应该是4吗?追答x++,2*x
这里边有两个语句 ,这个逗号表达式等效于

x++;
int result = 2*x;先执行了x++; 所以x是3
2*x就是6了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯