| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1184 人关注过本帖
标题:printf("a=%d\t",3.0);的输出为什么不进行类型自动转换呀?
只看楼主 加入收藏
lqlayy
Rank: 1
等 级:新手上路
帖 子: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
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-3-15
收藏
得分:0 
为什么printf("a=%d\t",3.0);的输入为a=0
printf("a=%d\t",3.1);的输入就是a=一个很大的数

学习编程的秘诀是:编程,编程,再编程;
2008-04-18 15:08
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
你源代码

偶是菜鸟鸟偶惧WHO?!!!!
2008-04-18 15:27
lqlayy
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-3-15
收藏
得分: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
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
自动类型转换是有要求的,只能按某种顺序单向转换,具体的顺序我忘记了

大概是char->int->float->double,只能从左到右,不能从右到左

象你要从float到int就只能用用强制转换

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-04-18 16:28
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-3-15
收藏
得分: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
快速回复:printf("a=%d\t",3.0);的输出为什么不进行类型自动转换呀?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016337 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved