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)
请解释.
在
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".
这不是重载,因为尽管不同的参数类型是可能的,就像在重载中一样,使用变量参数时总是调用相同的函数.在重载时,根据参数类型调用不同的函数.