搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请高手指点2个问题
标题:
请高手指点2个问题
只看楼主
ling62324777
等 级:
新手上路
帖 子:20
专家分:4
注 册:2011-9-6
结帖率:
87.5%
楼主
已结贴
√
问题点数:18 回复次数:7
请高手指点2个问题
int x;
printf("%d"(x=4*5,x*5),x+25);
输出为啥为45???????
main()
{double d;flout f;long l;int i;
i=f=l=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
输出的i l f d分别为6 6 6.0 6.0为什么呢????????
搜索更多相关主题的帖子:
double
2011-12-01 15:12
icqw1986
等 级:
新手上路
帖 子:18
专家分:8
注 册:2011-11-23
第
2
楼
得分:5
第一个程序应该是:int x;
printf("%d %d",(x=4*5,x*5),x+25);输出结果:100,1192
第二个程序应该是:
main()
{
double d;
float f;
long l;
int i;
i=f=l=d=20/3;
printf("%d %ld %f %f\n",i,l,f,d);
}
2011-12-01 16:09
icqw1986
等 级:
新手上路
帖 子:18
专家分:8
注 册:2011-11-23
第
3
楼
得分:0
第一个printf语句应该有两个%d,
第二个程序你得flout错误,应该是float。结果应该是6 6 6.000000 6.000000
2011-12-01 16:24
strivelong87
等 级:
论坛游侠
帖 子:68
专家分:159
注 册:2011-11-24
第
4
楼
得分:5
这个问题呢,首先是printf函数的控制符和参数一定要对应起来,不能多也不能少啊,不然输出会有错误,所以第一个就应该加一个%d了
printf("%d %d",(x=4*5,x*5),x+25);
第二个时20/3,因为20和3都是int型的,所以下来结果是6,然后强制转换为double型就是6.000000了。如果写成20.0/3 ,那结果可能就是你想要的了6.666667了
2011-12-01 16:34
编程弱者
等 级:
论坛游侠
帖 子:35
专家分:103
注 册:2011-11-17
第
5
楼
得分:5
#include<stdio.h>
int main(void)
{
int x;
printf("%d,%d",(x=4*5,x*5),x+25);
return(0);
}
我的输出结果是100,45在VC++6.0上运行的
下面这个不太明白
2011-12-01 17:01
编程弱者
等 级:
论坛游侠
帖 子:35
专家分:103
注 册:2011-11-17
第
6
楼
得分:0
回复 4楼 strivelong87
学习了
2011-12-01 17:02
jfei
来 自:郑州
等 级:
业余侠客
帖 子:92
专家分:268
注 册:2011-8-27
第
7
楼
得分:5
路过看看
虾米们!!!有意者加QQ 2434202652,2632939128联系我
2011-12-01 17:10
ling62324777
等 级:
新手上路
帖 子:20
专家分:4
注 册:2011-9-6
第
8
楼
得分:0
三楼的大大为什么f.d的值为6.000 6.000 而不是6.6 6.6啊
2011-12-01 20:07
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-356693-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.101649 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved