用C语言将实数(如123.456)赋给整型变量
时间: 2024-10-11 12:16:41 浏览: 27
在C语言中,如果想要将实数(如123.456)赋值给整型变量,你需要先确保这个实数能够被准确地转换成整数,因为C语言默认是按整数精度进行截断处理的,小数部分会被忽略。如果你确定不会有溢出的情况发生,可以这样做:
```c
#include <stdio.h>
int main() {
float real_number = 123.456;
int integer_variable;
// 使用强制类型转换将浮点数转换为整数
integer_variable = (int)real_number; // C99及以后版本
printf("Integer variable: %d\n", integer_variable);
return 0;
}
```
在这个例子中,`real_number`会转换为整数`123`,小数部分丢失了。
注意:如果`real_number`大于`INT_MAX`(对于`int`类型的最大值),或者小于`INT_MIN`(对于`int`类型的最小值),这种转换可能会导致溢出。为了避免这种情况,可以使用`fscanf`从文件或者其他输入流读取数据,并指定转换格式为`%lf`得到`double`类型,然后再转换到`int`。
阅读全文