qq_无我_1
2018-03-30 15:56
#include <stdio.h>
int main()
{
double numOne = 2.5; //定义浮点型变量num并赋值为2.5
int numTwo = (int)numOne;
printf("numOne的整数部分是%d\n",numOne);
printf("numTwo的小数部分是%f\n",numTwo);
return 0;
}
hello.c: In function 'main':
hello.c:6:38: warning: format '%d' expects argument of type 'int', but argument 2 has type 'double' [-Wformat=]
printf("numOne的整数部分是%d\n",numOne);
^
hello.c:7:38: warning: format '%f' expects argument of type 'double', but argument 2 has type 'int' [-Wformat=]
printf("numTwo的小数部分是%f\n",numTwo);
^
numOne的整数部分是1218162008
numTwo的小数部分是2.500000
反了,%d才是整数,,%f是6位小数。。。
我不知道对不对,但是这样改了以后应该是你想输出的
#include <stdio.h>
int main()
{
double numOne = 2.5; //定义浮点型变量num并赋值为2.5
int numTwo = (int)numOne;
printf("numOne的小数部分是%f\n",numOne);
printf("numTwo的整数数部分是%d\n",numTwo);
return 0;
}
要注意%d是输出带符号的十进制整数,因为你原本的numOne是小数,所以换算成整数则是不一致,还会带有符号
%f 是输出6位小数 可以再去看一下格式化输出语句的部分
正确写法应该是
printf("numOne的整数部分是%f\n",numOne);
printf("numTwo的小数部分是%d\n",numTwo);
C语言入门
926212 学习 · 20797 问题
相似问题