用C语言编写一个函数,用指针作为参数,分别得到双精度实型数据的整数部分和小数部分,并试运行,把运行结果一并告诉我
时间: 2024-03-14 08:44:52 浏览: 76
C 代码 实现某些基本函数 双精度复数.rar
好的,下面是用C语言编写的函数,可以用指针作为参数,分别得到双精度实型数据的整数部分和小数部分:
```c
void split_double(double num, int *integer_part, double *decimal_part) {
*integer_part = (int)num;
*decimal_part = num - *integer_part;
}
```
该函数接受一个双精度浮点数 `num`,并用指针 `integer_part` 和 `decimal_part` 作为参数,将整数部分和小数部分存储在这些指针所指向的变量中。
下面是一个示例程序,演示了如何使用该函数:
```c
#include <stdio.h>
void split_double(double num, int *integer_part, double *decimal_part);
int main() {
double num = 3.1415926;
int integer_part;
double decimal_part;
split_double(num, &integer_part, &decimal_part);
printf("The integer part of %lf is %d\n", num, integer_part);
printf("The decimal part of %lf is %lf\n", num, decimal_part);
return 0;
}
void split_double(double num, int *integer_part, double *decimal_part) {
*integer_part = (int)num;
*decimal_part = num - *integer_part;
}
```
运行结果如下:
```
The integer part of 3.141593 is 3
The decimal part of 3.141593 is 0.141593
```
可以看到,该程序成功地将双精度浮点数 `num` 的整数部分和小数部分分别存储在了 `integer_part` 和 `decimal_part` 中。
阅读全文