C Primer Plus(第六版)16.18 编程练习 第7题

#include <stdio.h>

#include <stdlib.h>

#include <stdarg.h>

void show_array(const double ar[] ,int n) ;

double * new_d_array(int n, ...) ;

int main ()

{

double * p1;

double * p2;

p1 = new_d_array(5, 1.2,2.3, 3.4, 4.5, 5.6);

p2 = new_d_array(4, 100.0, 20.00, 8.08, -1890.0);

show_array(p1,5);

show_array(p2,4);

free(p1);

free(p2);

return 0;

}

double * new_d_array(int n, ...)

{

double *p = NULL;

p = (double *)malloc(sizeof(double)*n);

va_list ap;

va_start(ap,n);

for(int i=0;i<n;i++)

{

*(p+i)=va_arg(ap,double);

}

return p;

}

void show_array(const double ar[] ,int n)

{

printf("数组:%p\n",ar);

for(int i=0;i<n;i++)

{

printf("第%d个元素:%lf \n",i,ar[i]);

}

}

相关推荐
张人玉1 天前
c#WPF基础知识
开发语言·c#·wpf
std78791 天前
Rust 与 Go – 比较以及每个如何满足您的需求
开发语言·golang·rust
报错小能手1 天前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI1 天前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey1 天前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
liu****1 天前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖1 天前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
润 下1 天前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_1 天前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
前端架构师-老李1 天前
Java开发—JDK的安装和版本管理(macOS)
java·开发语言·macos