多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
```c #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdarg.h> char *my(char *format, ...) { va_list list; //1. 先获取格式化后字符串的长度 va_start(list, format); int size = vsnprintf(NULL, 0, format, list); va_end(list); if(size <= 0) { return NULL; } size++; //2. 复位va_list,将格式化字符串写入到buf va_start(list, format); char *buf = (char *)malloc(size); vsnprintf(buf, size, format, list); va_end(list); return buf; } /************************************************************* * 函数名:Hpush * @param1:字符串,数据将会直接按字节放入FPGA下位机中的队列 * 返回值:操作成功返回 0 * 将数据压入FPGA制作的FIFO中,准备使用FPGA硬件的串口发送数据 *************************************************************/ int Hpush(char *p){ int len = strlen(p); int i = 0; char c ; for(i = 0;i< len;i++){ printf("%c",*(p+i)); } } void Hpushf(char *format, ...) { va_list list; //1. 先获取格式化后字符串的长度 va_start(list, format); int size = vsnprintf(NULL, 0, format, list); va_end(list); if(size <= 0) { return ; } size++; //2. 复位va_list,将格式化字符串写入到buf va_start(list, format); char *buf = (char *)malloc(size); vsnprintf(buf, size, format, list); va_end(list); Hpush(buf); } char *p="yhp,hello"; int main(){ //Hpush(p); Hpushf("%s\n",p); return 0; } ``` ```c #include <stdio.h> #include <stdarg.h> double average(int num,...) { va_list valist; double sum = 0.0; int i; /* 为 num 个参数初始化 valist */ va_start(valist, num); /* 访问所有赋给 valist 的参数 */ for (i = 0; i < num; i++) { sum += va_arg(valist, int); } /* 清理为 valist 保留的内存 */ va_end(valist); return sum/num; } int main() { printf("Average of 2, 3, 4, 5 = %f\n", average(4, 2,3,4,5)); printf("Average of 5, 10, 15 = %f\n", average(3, 5,10,15)); } ```