黑马程序员技术交流社区

标题: C语言printf()的参数处理 [打印本页]

作者: socl_ycl    时间: 2015-9-16 14:37
标题: C语言printf()的参数处理
本帖最后由 socl_ycl 于 2015-9-16 17:26 编辑

请看如下代码:
  1. #include<stdio.h>
  2. int main(void) {
  3.         int a = 10, b = 20, c = 30;

  4.         printf("\n %d..%d..%d \n", a+b+c, (b = b*2), (c = c*2));

  5.         return 0;
  6. }
复制代码
童鞋们,上面的代码输出结果会是什么?
不通过编辑器输出,你自己脑海的输出是对的吗~~~
一句代码就能让你知道printf()的参数处理

经典解释:C语言里函数的参数默认是从右往左处理的,输出时是从左往右。


作者: socl_ycl    时间: 2015-9-16 14:38
输出结果为
  1. 110..40..60
复制代码

是因为C语言里函数的参数默认是从右往左处理的,输出时是从左往右。
作者: zhuai68    时间: 2015-9-16 15:15
学习了,这个在视频中,老师好像没有讲到,非常感谢
作者: wangchao1992    时间: 2015-9-16 15:53
运行结果。
60..40..60

作者: bowenfei    时间: 2015-9-16 17:18
种个种子,有机会运行下。
作者: socl_ycl    时间: 2015-9-16 17:24
wangchao1992 发表于 2015-9-16 15:53
运行结果。
60..40..60

亲,你中招了。感觉去尝试下吧~~
作者: tr2e    时间: 2015-9-16 17:32
不错 感谢提醒
作者: wangchao1992    时间: 2015-9-16 22:47
socl_ycl 发表于 2015-9-16 17:24
亲,你中招了。感觉去尝试下吧~~

我在Xcode 上运行了 。就是我说的答案啊

作者: 泡沫世界    时间: 2015-9-16 23:31
没看懂   能分析下不
作者: 范文鹏    时间: 2015-9-17 00:12
我也感觉那个不对啊

作者: 永恒篆刻    时间: 2015-9-18 14:41

不错 感谢提醒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2