“...”在 C 中作为函数参数有什么作用?
what does "..." do as a function argument in C?
一直想知道C的printf函数是怎么工作的,所以决定去看看gcc的stdio.h定义。令我惊讶的是,gcc 中的 printf 函数是用参数“const char*, . . ”定义的。我尝试在我制作的一个简单程序中为自己做这件事。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Print(const char *text, ...) {
printf("%s\n", text);
}
int main() {
Print("Hello, World!", "a");
}
我可以向其中传递任何我想要的参数,即使这些参数不会有任何未来的访问点。我想知道更多关于这个,我想知道是否有人有更多信息。
一直想知道C的printf函数是怎么工作的,所以决定去看看gcc的stdio.h定义。令我惊讶的是,gcc 中的 printf 函数是用参数“const char*, . . ”定义的。我尝试在我制作的一个简单程序中为自己做这件事。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Print(const char *text, ...) {
printf("%s\n", text);
}
int main() {
Print("Hello, World!", "a");
}
我可以向其中传递任何我想要的参数,即使这些参数不会有任何未来的访问点。我想知道更多关于这个,我想知道是否有人有更多信息。