搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ printf("a=%d\t",3.0);的输出为什么不进行类型自动转换呀?
标题:
printf("a=%d\t",3.0);的输出为什么不进行类型自动转换呀?
只看楼主
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
楼主
问题点数:0 回复次数:6
printf("a=%d\t",3.0);的输出为什么不进行类型自动转换呀?
printf("a=%d\t",3.0);的输出为a=0,为什么在输出时不进行类型自动转换呀?将3.0自动转换成整形.不是截断就行吗?
[[it] 本帖最后由 lqlayy 于 2008-4-18 15:05 编辑 [/it]]
搜索更多相关主题的帖子:
printf
类型
输出
自动
2008-04-18 15:02
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
第
2
楼
得分:0
为什么printf("a=%d\t",3.0);的输入为a=0
printf("a=%d\t",3.1);的输入就是a=一个很大的数
学习编程的秘诀是:编程,编程,再编程;
2008-04-18 15:08
我是菜鸟哦
等 级:
贵宾
威 望:
22
帖 子:921
专家分:209
注 册:2007-5-4
第
3
楼
得分:0
你源代码
偶是菜鸟鸟偶惧WHO?!!!!
2008-04-18 15:27
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
第
4
楼
得分:0
#include<stdio.h>
main()
{
printf("a=%d\n",3.0);/*这一行为什么在输出时不进行类型自动转换转换成3*/
printf("a=%d",3.1);
}
[[it] 本帖最后由 lqlayy 于 2008-4-18 15:34 编辑 [/it]]
学习编程的秘诀是:编程,编程,再编程;
2008-04-18 15:33
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
5
楼
得分:0
自动类型转换是有要求的,只能按某种顺序单向转换,具体的顺序我忘记了
大概是char->int->float->double,只能从左到右,不能从右到左
象你要从float到int就只能用用强制转换
从BFS(Breadth First Study)到DFS(Depth First Study)
2008-04-18 16:28
雨中飛燕
等 级:
新手上路
帖 子:765
专家分:0
注 册:2007-10-13
第
6
楼
得分:0
#include<stdio.h>
int main()
{
char s[30]="%d\n";
printf(s, 3); //请问,你单看这一行的时候,你觉得有转换吗
s[1]+=2;
printf(s, 3.0); //请问,你单看这一行的时候,你又觉得是什么
}
不要思维定势
" border="0" />
2008-04-18 16:58
lqlayy
等 级:
新手上路
帖 子:100
专家分:0
注 册:2007-3-15
第
7
楼
得分:0
如果int-->float可以自动转换的话,那为什么如下输出为0?
#include<stdio.h>
int main()
{
printf("%f",3);
}
[[it] 本帖最后由 lqlayy 于 2008-4-21 12:45 编辑 [/it]]
学习编程的秘诀是:编程,编程,再编程;
2008-04-21 12:42
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-209762-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.227657 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved