怎样写一个有可变参数的函数?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 14:33:51
怎样写一个有可变参数的函数?
用 提供的辅助设施.
下面是一个把任意个字符串连接起来的函数, 结果存在 malloc 的内存中:
#include /* 说明 malloc, NULL, size_t */
#include /* 说明 va_ 相关类型和函数 */
#include /* 说明 strcat 等 */
char *vstrcat(const char *first, ...)
{
size_t len;
char *retbuf;
va_list argp;
char *p;
if(first == NULL)
return NULL;
len = strlen(first);
va_start(argp, first);
while((p = va_arg(argp, char *)) != NULL)
len += strlen(p);
va_end(argp);
retbuf = malloc(len + 1); /* +1 包含终止符 \0 */
if(retbuf == NULL)
return NULL; /* 出错 */
(void)strcpy(retbuf, first);
va_start(argp, first); /* 重新开始扫描 */
while((p = va_arg(argp, char *)) != NULL)
(void)strcat(retbuf, p);
va_end(argp);
return retbuf;
}
调用如下:
char *str = vstrcat("Hello, ", "world!", (char *)NULL);
下面是一个把任意个字符串连接起来的函数, 结果存在 malloc 的内存中:
#include /* 说明 malloc, NULL, size_t */
#include /* 说明 va_ 相关类型和函数 */
#include /* 说明 strcat 等 */
char *vstrcat(const char *first, ...)
{
size_t len;
char *retbuf;
va_list argp;
char *p;
if(first == NULL)
return NULL;
len = strlen(first);
va_start(argp, first);
while((p = va_arg(argp, char *)) != NULL)
len += strlen(p);
va_end(argp);
retbuf = malloc(len + 1); /* +1 包含终止符 \0 */
if(retbuf == NULL)
return NULL; /* 出错 */
(void)strcpy(retbuf, first);
va_start(argp, first); /* 重新开始扫描 */
while((p = va_arg(argp, char *)) != NULL)
(void)strcat(retbuf, p);
va_end(argp);
return retbuf;
}
调用如下:
char *str = vstrcat("Hello, ", "world!", (char *)NULL);
as3 怎么写可变参数函数
函数 导数已知一确定函数,有一个参数,怎样求其导数?
求大神讲解MATLAB:写一个函数文件f(x)以实现该函数,要求参数x可以是向量,怎样实现参数X可以使向量?
定义一个返回值是指向函数的指针且有一个指向函数的指针作为参数的函数?
常见函数的参数方程有那些?
java类中定义构造函数时定义了一个有参数的构造函数 ,是否必须定义空参数构造函数?
1.声明并定义一个函数,有两个整形形式参数,在该函数内部比较这两个参数的大小,并
几何画板中怎样画参数函数的图像
问:若C语言形式参数为函数的函数怎么写?有例子的采纳后会加分.
可变振荡器可变振荡器由一个固定电感和可变电容加 电晶体 ,产生的那电流的频率是怎样算出的?
excel ,比如一个函数有两个参数,下拉自动填充时如何让一个参数的值固定,另一个随填充变化递增?
excel ,比如一个函数有两个参数,下拉自动填充时如何让一个参数的值固定,另一个随填充变化递增.