printf的打印值的另类问题

#include<stdio.h>
int main()
{
    int a, x = 1, y = 12, z = 123;
    a = printf("%d %d %d\n", x, y, z);
    printf("%d", a);
    return 0;
}

为什么a输出为9

printf()输出的返回值是统计的字符数量 此处统计1_12_123'\n' 其9个字符

其实这个a值就是"%d %d %d\n"里面的字符数量,其中'\n'算是一个字符,你可以自己添加些字符试试,望采纳