C++打印奇怪的表现

use*_*973 -3 c++ printf

我有一个C++问题:

#include<iostream>
#include<stdio.h>

using namespace std;

int main() {
    double k = 1.2366;
    cout << printf("%.3lf\n", k);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

1.237
6
Run Code Online (Sandbox Code Playgroud)

但我希望:

1.237
Run Code Online (Sandbox Code Playgroud)

为什么我在第二行获得额外的6?

Mic*_*ker 5

好吧,你先打电话printf打印出数字,然后将结果printf(打印的字符数)流式传输到cout.