是否在C中超载?

Sad*_*que 0 c c++ variadic-functions

变量长度参数如何列出printf() , scanf(), etcC中的函数与C++中的函数重载有何不同?

这是怎么回事

printf("Didnt Work %s",s);

与......不同

printf(s,"Didnt Work %s");

其中s定义为:

const char *s="string";
Run Code Online (Sandbox Code Playgroud)

请解释.

Ben*_*igt 6

const char *s="string";
printf(s,"Didnt Work %s");
Run Code Online (Sandbox Code Playgroud)

第一个参数"string"被解释为格式字符串.它没有插入代码,因此不会使用第二个参数.结果将是"字符串".

OTOH

printf("Didnt Work %s",s);
Run Code Online (Sandbox Code Playgroud)

有一个插入代码,所以第二个参数作为字符串插入,结果是"Did not Work string".

这不是重载,因为尽管不同的参数类型是可能的,就像在重载中一样,使用变量参数时总是调用相同的函数.在重载时,根据参数类型调用不同的函数.