社区
C语言
帖子详情
一个关于printf();输出格式问题
BIMOZHI
2011-03-04 10:20:48
#include<stdio.h>
void main ()
{
float a,b;
a=5;
b=3;
printf("a=%d b=%d\n",a,b);//故意的%d
}
输出 a=0 b=1075052544 为什么?(b的值小于2^32)
我开始以为是printf()有输出缓冲问题,把a的值改成很大,最后输出a仍然是零,只是b的值稍微变了点(后几位)我也用vc6.0调试了可是调试不出来,我的win7 32位系统
...全文
154
11
打赏
收藏
一个关于printf();输出格式问题
#include void main () { float a,b; a=5; b=3; printf("a=%d b=%d\n",a,b);//故意的%d } 输出 a=0 b=1075052544 为什么?(b的值小于2^32) 我开始以为是printf()有输出缓冲问题,把a的值改成很大,最后输出a仍然是零,只是b的值稍微变了点(后几位)我也用vc6.0调试了可是调试不出来,我的win7 32位系统
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cd2008
2011-03-04
打赏
举报
回复
参考
http://zh.wikipedia.org/wiki/IEEE_754
和
http://en.wikipedia.org/wiki/IEEE_754-1985
去
BIMOZHI
2011-03-04
打赏
举报
回复
http://hi.baidu.com/%D7%F8%D7%F8%B0%C9%B0%DD%B6%C1/album/item/04905e1fa270dbaeae51335a.html#
不能看,到我的空间里看看
BIMOZHI
2011-03-04
打赏
举报
回复
canshui
2011-03-04
打赏
举报
回复
[Quote=引用 6 楼 hnuqinhuan 的回复:]
浮点数 和int的存储格式不一样
[/Quote]
就因为这个……
BIMOZHI
2011-03-04
打赏
举报
回复
右下角的调试信息表明a b内已经是正确的值了,可用printf()下后变为那样了呢?
無_1024
2011-03-04
打赏
举报
回复
浮点数 和int的存储格式不一样
w0911h
2011-03-04
打赏
举报
回复
浮点数在内存中有符号位,阶码和尾数三部分,和整型的存储方式不一样,你这样是直接把本来被解释成浮点型的内存解释成整型,自然就错了
http://zhaojinguorui.blog.163.com/blog/static/16596290200862705010554/
饥饿书生
2011-03-04
打赏
举报
回复
楼上正解,
你可改成 printf("a=%f, b=%f\n");
BIMOZHI
2011-03-04
打赏
举报
回复
是呀,可vc6.0 的输出两个怎么不都是零啊
flyerwing
2011-03-04
打赏
举报
回复
[Quote=引用 1 楼 justkk 的回复:]
浮点数与整数的表示方式是不一样的
你这样就是用整数的方式来解释一个浮点数
[/Quote]
好象是这样的吧.
justkk
2011-03-04
打赏
举报
回复
浮点数与整数的表示方式是不一样的
你这样就是用整数的方式来解释一个浮点数
printf
输出格式
化
文章目录
printf
输出格式
化
printf
输出格式
化
printf
输出 1.格式化输出整数 %d:按实际数据输出 %md:m为指定输出数据的宽度。如果实际数据位数小于m,则左端补空格(%-md是右端补空格);若大于m,则按实际位数输出。 %0md:m也是指定输出数据的宽度。同上,实际数据位数小于m时,左端补0; #include<stdio.h> int main() {
printf
("1.%d\n",1234);
printf
("2.%6d\n",1234);
printf
(
Printf
输出格式
总结
① 首先介绍
printf
输出正型数,输出的形式为
printf
(“%d”,n);n为变量,n必须被int 或 long int 或 short int 定义。 相信下面几个表达方式,就能说明
问题
吧: %d=int, %ld=long, %lld=long long。 ②
printf
输出浮点数,浮点数也就是数学上的整数,当用double或float定义
一个
数,就需要利用%f输出,输出的形式为pri...
关于
printf
输出格式
的总结
基础的东西总是很容易忘 要时常总结回顾才能牢记
printf
函数是
一个
标准库函数,它的函数原型在头文件“stdio.h”中。但作为
一个
特例,不要求在使用
printf
函数之前必须包含stdio.h文件。
printf
函数调用的一般形式为:
printf
(“格式控制字符串”, 输出表列) 其中格式控制字符串用于指定
输出格式
。格式控制串可由格式字符串和非格式字符串两种组成。格式字符
C语言
printf
输出格式
说明
printf
函数的一般格式
printf
(格式控制字5261符串,输出表4102列); 以图1所示为例。 图1. 函数参数1653包括两部分: 【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。 它包括两种信息: ●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应
一个
格式说明项。 ● 普通字符:即需要原样输出的字符,如逗号和换行符
关于
printf
输出格式
类型的总结
一、函数调用形式
printf
函数调用的一般形式为:
printf
(“格式控制字符串”, 输出表列) 其中格式控制字符串用于指定
输出格式
。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如: “%d”表示按十进制整型输出; “%ld”表示按十进制长整型输出; “%c”表示
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章