在可变函数中打印数组索引
Print the array index in variadic functions
我想随机打印数组中的索引。但是我不能。
Main.c:
RastgeleKarakter randomB = overload5_specifiedRandom(6,'g','y','u','c','n','e');
RastgeleKarakter.c
RastgeleKarakter overload5_specifiedRandom(int args,...){
va_list list;
va_start(list, args);
char array[7];
char* test;
int sayi = (int) ((Now())%args);
for(int i = 1; i <= args; i++){
array[args] = (char) va_arg(list,int);
printf("%c ", array[args]);
}
printf("%d",sayi);
va_end(list);
}
输出:
g y u c n e 3╝
我想要这个:
'u' or 'g' or 'c'
char array[7];
...
for(int i = 1; i <= args; i++){
array[args] = (char) va_arg(list,int);
printf("%c ", array[args]);
如果参数过多,您会以意外行为离开 数组
很可能你想要 array[i]
而不是 array[args]
,否则根本没有理由拥有一个数组,它可以被 char c;
代替
Out:
g y u c n e 3╝
I want this out :
'u' or 'g' or 'c'
没有测试写不写(char) va_arg(list,int);
(忘记了索引上可能的问题)所以你怎么希望不写?
我想随机打印数组中的索引。但是我不能。
Main.c:
RastgeleKarakter randomB = overload5_specifiedRandom(6,'g','y','u','c','n','e');
RastgeleKarakter.c
RastgeleKarakter overload5_specifiedRandom(int args,...){
va_list list;
va_start(list, args);
char array[7];
char* test;
int sayi = (int) ((Now())%args);
for(int i = 1; i <= args; i++){
array[args] = (char) va_arg(list,int);
printf("%c ", array[args]);
}
printf("%d",sayi);
va_end(list);
}
输出:
g y u c n e 3╝
我想要这个:
'u' or 'g' or 'c'
char array[7]; ... for(int i = 1; i <= args; i++){ array[args] = (char) va_arg(list,int); printf("%c ", array[args]);
如果参数过多,您会以意外行为离开 数组
很可能你想要 array[i]
而不是 array[args]
,否则根本没有理由拥有一个数组,它可以被 char c;
Out:
g y u c n e 3╝
I want this out :
'u' or 'g' or 'c'
没有测试写不写(char) va_arg(list,int);
(忘记了索引上可能的问题)所以你怎么希望不写?