vfprintf/fprintf格式与参数不匹配导致输出错误

由于fprintf可以认为是vfprintf的封装,这俩的行为比较一致。以fprintf为例来说明。

int main() {
        double a = 100.0999;
        int b = 10000;
        FILE *file = fopen("file_test", "w");
        fprintf(file, "a: %d, b: %d", a, b);
        fclose(file);

        return 0;
}

在上面的例子中,打印会出现错误,a和b的值可能都打印错误。但是这种情况在printf中不存在,即使格式与参数不匹配,printf仍然能够正确打印。

posted on 2025-04-09 15:38  半山随笔  阅读(25)  评论(0)    收藏  举报

导航