c - 在可变参数函数中打印数组索引
问题描述
我想随机打印数组中的索引。但我不能。
主要.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;
出去:
gyucne 3╝</p>
我想要这个:
'u' 或 'g' 或 'c'
没有要写的测试(char) va_arg(list,int);
(忘记索引上可能存在的问题),那么您希望如何不写所有测试?
推荐阅读
- jquery - 无法捕获序列化的 textarea 值
- android - 如何在 FlutterActivity 上实现 onActivityResult 和 onNewIntent
- css - onMouseMove 期间的背景幻灯片动画未按预期工作
- css - 使用 Angular 和 CSS 动态更改表格的字体
- r - 根据日期差异创建一个新列
- xml - 使用 XSLT 连接 XML 中的两个节点数据
- python - 如何在 CNN 中使用自己的图像进行预测?
- javascript - 将 HTML 表单中的文本附加到现有文本文件
- git - 移动实际重命名的已删除文件的 git 历史记录
- python-3.x - 如何在pyqt5中使用lineEdit输入更改cwd