S
Sheldon
Hi all,
I am trying to understand why this function fails to return a string.
Can anyone help?
*************
#include <stdio.h>
#include <stdarg.h>
char set(char *item, int num, ...);
int main(void) {
char *Item;
char Ret;
printf("%s\n", set(item,4, "apple", "pear", "banana", "grape"));
}
char set(char *Item, int num, ...) {
va_list ap;
int i;
char all[50];
va_start(ap, num);
for (i=0; i<num;i++) {
if (i==0)
strcpy(all,item=va_arg(ap,char *));
else
strcat(all,item=va_arg(ap,char *));
}
va_end(ap);
return all;
}
****************
Thanks in advance.
Sheldon
I am trying to understand why this function fails to return a string.
Can anyone help?
*************
#include <stdio.h>
#include <stdarg.h>
char set(char *item, int num, ...);
int main(void) {
char *Item;
char Ret;
printf("%s\n", set(item,4, "apple", "pear", "banana", "grape"));
}
char set(char *Item, int num, ...) {
va_list ap;
int i;
char all[50];
va_start(ap, num);
for (i=0; i<num;i++) {
if (i==0)
strcpy(all,item=va_arg(ap,char *));
else
strcat(all,item=va_arg(ap,char *));
}
va_end(ap);
return all;
}
****************
Thanks in advance.
Sheldon