#include <stdio.h>
int main()
{
double num = 2.5;//定义浮点型变量num并赋值为2.5
printf("num的整数部分是%d\n",(int)num);
return 0;
}
这段代码是正确的。
但是下面这段
#include <stdio.h>
int main()
{
double num = 2.5;//定义浮点型变量num并赋值为2.5
int num =(int) num
printf("num的整数部分是%d\n",num);
return 0;
}
是错的。
所以我有些问题:下面这段是我看过教程之后写出来的,但是是错的。
但我又不知道错在哪,我有几个猜测:
1、num这个变量名我用了两次,整型一次,双精度实数型一次。所以我想是不是因为变量名混乱所以报错,但是我学了一下其他人,他们把要输出的量定义成num1。但是我还是错了。
2、我看不太懂教程里说的(数据类型)(表达式)这个形式
表达式要加括号,但是在例子中的temptwo没加括号,是因为字符不需要加括号吗?还是只有需要计算的公式才需要加括号?
求大佬耐心解答!!!
改成如下试试
int num2 =(int) num
printf("num的整数部分是%d\n",num2);
第五行忘加;
猜测一对的,但num1是这样改 #include <stdio.h> int main() { double num = 2.5;//定义浮点型变量num并赋值为2.5 int num1 =(int) num; printf("num的整数部分是%d\n",num1); //(int)num的整数给到了num1 return 0; }
或者改成(不用另外设一个中间变量名)
#include <stdio.h> int main() { double num = 2.5;//定义浮点型变量num并赋值为2.5 printf("num的整数部分是%d\n",(int)num); return 0; }
猜测一对的,但num1是这样改 #include <stdio.h> int main() { double num = 2.5;//定义浮点型变量num并赋值为2.5 int num1 =(int) num; printf("num的整数部分是%d\n",num1); //(int)num的整数给到了num1 return 0; }
或者改成(不用另外设一个中间变量名)
#include <stdio.h> int main() { double num = 2.5;//定义浮点型变量num并赋值为2.5 printf("num的整数部分是%d\n",(int)num); return 0; }