您的位置:首页 > 职场人生

有关一道printf 的面试题

2017-07-12 23:24 169 查看

今天有个学生面试,面试题目里面有一道有关 printf 的输出问题

源代码如下:

#include <stdio.h>

int main(void)
{
int a = 10, b = 20, c = 30;

printf(" res_a : %d  ,   res_b : %d,  res_c : %d\n", a + b + c, (a = a + 10),  (c  =  c * 10));
return 0;
}

//  一般的人会觉得这是什么, 60, 20,  300?
//  但是 printf   也是一个函数调用, 函数调用的话就是遵循 栈的先进后出的原则。
//  所以 首先,printf 输出的是最后的 c = c * 10 == 300, 然后是 a = a + 10 == 20,  最后才是  a + b + c  ==340 ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: