求大神告知
这样为什么不可以?
1 | num=( int )num |
第一忘了加;
第二变量重新赋值是可以的,但是这里是强制转换成int型,但是变量本身是double,这样赋值会出错,就算重新定义数据类型,系统也不知道到底用哪种数据类型。
建议一:直接在输出语句强制转换成int型
1 2 3 4 5 6 7 | #include <stdio.h> int main() { double num = 2.5; //定义浮点型变量num并赋值为2.5 printf ( "num的整数部分是%d\n" ,( int )num); return 0; } |
建议二:定义一个int变量并且把强制转换的值赋给它
1 2 3 4 5 6 7 8 | #include <stdio.h> int main() { double num = 2.5; //定义浮点型变量num并赋值为2.5 int temp=( int )num; printf ( "num的整数部分是%d\n" ,temp); return 0; } |
举报