在c中返回printf的值?

use*_*571 0 c printf

int main()
{
        int x = 10, y;
        y = printf("x = %d\n", x);
        printf("y = %d\n", y);
        return 0;
}

output:
x = 10
y = 7
Run Code Online (Sandbox Code Playgroud)

我知道printf在打印字符串时返回字符数.但是为什么在打印时返回7.什么是printf打印int时的返回值?

可能重复: C中printf()函数的返回值

jh3*_*314 5

就像你说的那样,"printf返回打印字符串时的字符数".

" x = 10\n"有7个字符.(即,这些:) 'x',' ','=',' ','1','0','\n'.

因此,y设置为7.