新手,求大神看看哪出问题了。
这是个习题 :编写一个函数,接收可变数目的字符串作为参数,按顺序拼接这些字符串成为一个更长的字符串,返回一个指向新字符串的指针。然后我就写了一个,但是编译一堆错误。。。。
#include<stdio.h>
#include<stdarg.h>
#include<string.h>
char *hanshu(int num,char x[],...);
int main(void)
{
char *d;
char a[] = "xiexiegeweiqinmen",
b[] = "gangxuexizhege",
c[] = "butaidongdea";
if((d = malloc(100)) == NULL)
{
printf("cuowusimida!!");
exit(1);
}
d = hanshu(3, a, b, c);
puts(d);
return 0;
}
char *hanshu(int num,char x[],...)
{
va_list arg_ptr;
char q[100] = "";
int count;
va_start(arg_ptr, num);
for(count = 0; count < num; count++)
{
strcat(q, va_arg( arg_ptr, char));
}
va_end(arg_ptr);
return q;
}
求大神解答解答