| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 350 人关注过本帖
标题:为什么输出结果不一样?
只看楼主 加入收藏
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:4 
为什么输出结果不一样?
float a;
 scanf("%f",&a);
 printf("%f,%d",a,a);
以上一段程序,输入一个float时,输出结果应当是一对一错,但如果把程序改为:

 float a;
 scanf("%f",&a);
 printf("%d,%f",a,a);   //格式控制符交换位置

这时却得到了两个错误的输出,这是为什么?

搜索更多相关主题的帖子: 一对一 
2011-08-05 15:16
xyzysy
Rank: 2
等 级:论坛游民
帖 子:12
专家分:23
注 册:2010-12-6
收藏
得分:10 
当你吧%d放在前面时 会把上面%f 得到的实数值装换成整数值  最后的%f 是%d的实数值
2011-08-05 15:23
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
收藏
得分:0 
printf("%d,%f",a,a); //输出两个都是错的。
printf("%f",a); //然后在输出一个,这个输出是正确的
2011-08-05 15:25
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:0 
     "%d"这个大小叫做格式符,所以在输出的时候会自动转换格式后输出
2011-08-05 15:29
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
收藏
得分:0 
回复 4楼 loveshuang
我想知道为什么printf("%d,%f",a,a);
输出的时候连后面的那个a也是错误的
2011-08-05 15:34
快速回复:为什么输出结果不一样?
数据加载中...
 
   



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

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