c语言分离整数与小数部分赋值全局变量
时间: 2023-10-28 08:02:46 浏览: 88
在C语言中,可以使用以下的方法来分离整数和小数部分,并将它们赋值给全局变量。
首先,我们先定义一个全局的变量,用于存储整数部分的值。假设我们将它命名为int_part。
然后,我们通过以下的方式来分离整数部分和小数部分:
1. 将浮点数转换为字符串形式,可以使用sprintf函数。
```
char buffer[100]; // 创建一个足够大的字符数组来存储字符串
float number = 10.5; // 假设我们要分离的浮点数
sprintf(buffer, "%f", number); // 使用sprintf将浮点数转换为字符串
```
2. 使用strchr函数来查找小数点在字符串中的位置,并将其替换为字符串结束符号'\0'。
```
char *decimal_point = strchr(buffer, '.'); // 在字符串中查找小数点
if (decimal_point != NULL) {
*decimal_point = '\0'; // 将小数点替换为字符串结束符号
}
```
3. 使用sscanf函数来将字符串转换回浮点数,并分别将整数部分和小数部分赋值给全局变量。
```
sscanf(buffer, "%d", &int_part); // 将字符串转换为整数,并赋值给全局变量int_part
```
4. 如果需要,我们还可以将剩余的字符串部分转换为浮点数,并赋值给另一个全局变量,用于存储小数部分的值。
```
float decimal_part; // 创建一个用于存储小数部分的全局变量
sscanf(decimal_point + 1, "%f", &decimal_part); // 将小数点后的字符串转换为浮点数,并赋值给全局变量decimal_part
```
通过以上的步骤,我们就可以将浮点数的整数部分和小数部分分别赋值给全局变量int_part和decimal_part。