double x=2.71828;printf("%d",x)高手来帮下
来源:百度知道 编辑:UC知道 时间:2024/06/27 04:28:48
main()
{
double x=2.71828;
printf("%d",x);
}
A. 2 B. 2.71828 C. 3 D. 以上输出结果不确定
答案是D,为什么呢??麻烦解释下,谢谢!!
为什么不是把2.71828强制转换成int型,选A呢??
{
double x=2.71828;
printf("%d",x);
}
A. 2 B. 2.71828 C. 3 D. 以上输出结果不确定
答案是D,为什么呢??麻烦解释下,谢谢!!
为什么不是把2.71828强制转换成int型,选A呢??
因为他是输入十进制整数
存在输出内存差 所以结果不确定
就象%f格式输出当小数后面的位数 超过6位时第6位的数字取舍不固定一样
printf("%ld",x);
double是双精度,输出格式要用ld
在输入输出重就是按照指定格式读取缓冲区数据的,没有转换功能.
printf是按照第一个参数"%d"中的格式化符号决定读入内存字节数的。
%d就读入四个字节输出,而double占八个字节,所以结果不确定。
x=Double.valueOf(a).doubleValue();是什么意思
double x; x=50*log10( x);求x? 怎样用vc++实现?
double x=2.71828;printf("%d",x)高手来帮下
谁能告诉我? double x,y ; x=1; y=x+3/2 ; printf("%d%d",x,y)
若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是2.0,为什么?2.000000呢?
d != java.lang.Double
请问PS的@外传,有没有Double X高达?
若有已知声明“char c='1';int x=300;float t=35000;double d=3.1234567e10;"
VC++中double fMax=RAND_MAX是什么意思
DOUBLE-DOUBLE什么意思