【奇葩笔试】—— printf() 作为函数的参数及其返回值

int f(int a, int b, int c){
    return 0;
}

int main(int, char**){
    f(printf("a"), printf("b"), printf("c"));
    return 0;
}
  • 参数的执行顺序:自右向左
  • 函数 printf() 的返回值(int 类型):返回的是字符的个数

因此最终的输出结果为:

cba
int main(){
    printf("%d
", printf("1234567890
"))
                        // 1234567890
                        // 11(包括换行符)
    return 0;
}
原文地址:https://www.cnblogs.com/mtcnn/p/9423784.html