下列程序段的输出结果是 int i; long l; float f; double d; i=l=f=d=85; printf("%d,%ld,%3.1f,%3.1fn"

下列程序段的输出结果是 int i; long l; float f; double d; i=l=f=d=85; printf("%d,%ld,%3.1f,%3.1fn",第1张

我刚才用VC++ 2010 测试了一下,果然是你说的这个答案。我调式了一下,看了一下运行的过程。下面给你解释一下:

其实关键是这句:

i=l=f=d=8/5

这里等号总是先算最右边, 8/5 两个整数相除,默认结果也是整数,所以就是 10。这个10依次赋值给左边的那些数,并且会自动类型匹配。所以就会出现你看到的结果了。

要想得到 16,可以改成这样:

i=l=f=d=(double)8/5

结果就是1,1,16,16 了。

答案:

空1:s=0;

空2:for(i=1;i<=n; i+=2)

空3:for(j=1;j<=i;j++)

空4:f=j;

变量在定义后,里面的值不一定是0,不同的电脑系统值是不一样的,所以空1要先对s初始化,赋初值0。

程序中的i是用来标志式中的1、3、5这些数字都有一个特性,后裔隔壁前一个加2,所以空2天上for(i=1;i<=n; i+=2)

由于阶乘是从1累乘到数本身,所以阶乘的判断条件是j<=i,及第三空为:for(j=1;j<=i;j++)。

由于阶乘是一个累乘,所以第四空用f=j;

完整的代码及vc60的运行如下图:

扩展资料:

对于看结果补充程序的题目,答题技巧很重要,总结了三步走的经验:

第一步对题目深入理解,分析需要用到的变量。

第二步先不看给出的代码,根据题目要求自己大概书写一遍实现的代码。

第三步看代码题目代码,并知道每个变量的作用。

java50提供自动装箱拆箱,Integer与int不需强转,程序会自动转换,long和Long也是一样

所以,可以这么干

Long

l1

=

100L;

long

l2

=

l1;

int

i1

=

(int)l2;

Integer

i2

=

i1;

另一种根据Integer的api有IntegervalueOf()和new

Integer();可以接受int或者String类型

把Long类型转换成int或者String类型就可以了

Long

l1

=

100L;

String

str

=

l1toString();

Integer

i1

=

IntegervalueOf(str);

Integer

i2

=

new

Integer(str);

int

i3

=

i2;

以上就是关于下列程序段的输出结果是 int i; long l; float f; double d; i=l=f=d=8/5; printf("%d,%ld,%3.1f,%3.1f\n"全部的内容,包括:下列程序段的输出结果是 int i; long l; float f; double d; i=l=f=d=8/5; printf("%d,%ld,%3.1f,%3.1f\n"、【程序填空】下面的程序是求1!+3!+5!+……+n!的和,程序中有4个 空,填空使程序完整。、Java中怎么将Long类型转换成Integer或int类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存