【发布时间】:2025-11-30 18:05:01
【问题描述】:
我需要在 C 中开发一个函数,该函数将使用相同的定义调用,带或不带参数,如下所示:
char *fnc(???)
{
char *str;
....
return str;
}
char *c1 = fnc();
char *c2 = fnc(param);
怎么做?
【问题讨论】:
-
如果你使用
C++,你可以使用默认参数,声明char *fnc( my_type my_param = my_default )。但是,唉,C 没有这样做。如果他们足够关心的话,这将是对 ANSI C 标准的一个很好的补充。 :) -
你们正在放弃 OP 并将他推向 C++。 cboard.cprogramming.com/c-programming/…
-
@Jim 我不会在任何地方“推”任何人。我只是说... ;) 正如其他答案所示,函数重载、可变参数(如
printf)和默认参数都是不同的东西。可变参数至少需要一个参数,不满足OP的例子。 -
没有至少一个参数,什么会告诉你有多少个参数?您的意思是通过全局变量或其他方式进行通信吗?
标签: c