用C语言编写一个函数,用指针作为参数,分别得到双精度实型数据的整数部分和小数部分,并试运行,把运行结果一并告诉我
时间: 2023-08-07 20:03:15 浏览: 106
下面是用C语言编写的函数,可以用指针作为参数,分别得到双精度实型数据的整数部分和小数部分:
```c
#include <stdio.h>
#include <math.h>
void split_double(double num, int* integer_part, double* decimal_part) {
*integer_part = (int)num;
*decimal_part = fabs(num - *integer_part);
}
```
这个函数接受一个双精度实型数据 `num` 和两个指向整型和双精度实型数据的指针。它首先将 `num` 的整数部分转换为整型并将其存储在 `integer_part` 指向的地址中,然后计算 `num` 的小数部分并将其存储在 `decimal_part` 指向的地址中。
下面是一个简单的测试程序,演示如何使用这个函数:
```c
int main() {
double num = 3.14159;
int integer_part;
double decimal_part;
split_double(num, &integer_part, &decimal_part);
printf("整数部分:%d\n", integer_part);
printf("小数部分:%f\n", decimal_part);
return 0;
}
```
输出结果为:
```
整数部分:3
小数部分:0.141590
```
可以看到,这个函数能够正确地将双精度实型数据的整数部分和小数部分分离出来,并且输出结果也是正确的。
阅读全文