社区
C语言
帖子详情
printf("%ld",3)的结果为什么不是3?
yyydeyangzi
2008-10-12 10:45:21
printf("%ld",3)的结果为什么不是3?
...全文
202
8
打赏
收藏
printf("%ld",3)的结果为什么不是3?
printf("%ld",3)的结果为什么不是3?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aozhi
2008-10-12
打赏
举报
回复
注意常量的使用。
printf("%ld",3L);试试。
matrixcl
2008-10-12
打赏
举报
回复
楼主和2楼都在乱说
1.printf("%ld",3)一点问题都没有
2.printf("3");正确,但printf("%ld",3)也没错
aaa7782814
2008-10-12
打赏
举报
回复
你要打印3,直接printf("3");就好了
格式控制符后面的应该要是地址,变量也是有个地址的
Fighting Horse
2008-10-12
打赏
举报
回复
怎么会呢,什么环境下啊
ForestDB
2008-10-12
打赏
举报
回复
warning: long int format, int arg (arg 2)
这里是gcc的警告,gcc也正确的打出了3.
看看LZ用的什么编译器,然后看看生成的汇编码,初步估计是编译器没有能力正确的提升int类型,从而把3和内存中另一个int组合成了long int再打印.
xuhongwu
2008-10-12
打赏
举报
回复
没打印出3,打印出什么呢?这个对解决问题很重要.
frank_ll
2008-10-12
打赏
举报
回复
看你的平台,你是不是64位机
如果是,那么有可能出现这种情况
lyaqys
2008-10-12
打赏
举报
回复
gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)
没有问题。。应该是你编译器的问题吧。。
printf
%
ld
%l
ld
%d
STM32 long d = 0; long long e = 0; d 0x640006a8 Data 4 字节 e 0x640006b0 Data 8 字节 ...
%d,%
ld
,%l
ld
的区别
那么在什么时候使用%d,%
ld
,%l
ld
呢?在代码
printf
打印的时候我们经常会遇到。
c语言中标识符允许多长,C语言中,
printf
的%d可以输出多少数据长度 %
ld
可以输出多少?...
1、%
ld
表示数据按十进制有符号长型整数输入或输出,如果是32位,输出4字节。2、%d表示数据按十进制有符号整型数输入或输出,如果编译器32位,可以输出8字节。示例:
printf
("%5d\n",1000);//默认右对齐,左边补空格
printf
("%-5d\n",1000);//左对齐,右边补空格
printf
("%+d%+d\n",1000,-1000);//输出正负号
printf
("%d%d\...
c语言编写
printf
函数,C语言之
printf
函数详解
一 基本用法格式化控制符:%d %c %
ld
%lf意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值
printf
("%d\n",age);
printf
("%c\n",ch);
printf
("%f\n",f);
printf
("%
ld
\n",lNum);
printf
("%lf\n",d);%d:代表挖一个int类型的坑,...
%lf 和 %f 、%
ld
和%d
printf
输出时不管是%lf 和 %f都是最多保留小数点6位;因此两者均可。 scanf输入时%lf代表double型;%f代表float型。 %
ld
是输出长整型;%d是输出整型。
C语言
69,368
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章