| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8007 人关注过本帖
标题:请问在输出的时候,%1d和%d有什么区别?
只看楼主 加入收藏
千i丶羽o
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2010-12-13
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:11 
请问在输出的时候,%1d和%d有什么区别?
请问在输出的时候,%1d和%d有什么区别?
如果要输出的长度本身就大于域宽,而输出的就是原来的没有域宽限制,怎么理解?
2010-12-23 09:01
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:1 
输出结果上是没有区别

我是初学者
2010-12-23 09:57
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:1 
细微上没有大的区别,int 一般是占两个字节取值范围在"-32768~32767"; long int 占 四个字节"-2147483648~2147483647";
如果赋值的时候超过他们的取值范围就要考虑下了 不然就会溢出 得不到自己想要的结果。

Go Go Go
2010-12-23 11:10
followme001
Rank: 2
等 级:论坛游民
威 望:1
帖 子:16
专家分:10
注 册:2010-12-2
收藏
得分:1 
以下是引用xzy199999在2010-12-23 09:57:26的发言:

输出结果上是没有区别
没有区别?
我做了一下试验,在TC2.0下:
#include<stdio.h>
main()
{
  int i;
  i=23;
  clrscr();
  printf("d=%d,ld=%ld\n",i,i);
}
运行结果:
d=23,ld=59179031
2010-12-23 11:20
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:0 
编译器有关联:
程序代码:
#include<stdio.h>
int main(int argc,char **argv)
{
    int a;
    a = 23;
    printf("%d,%ld",a,a);
}
结果:
图片附件: 游客没有浏览图片的权限,请 登录注册

vc++6.0

Go Go Go
2010-12-23 11:25
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 4楼 followme001
请你仔细看清楚lz的问题,lz问的是%1d,不是%ld,ok??

我是初学者
2010-12-23 11:26
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:0 
程序:
程序代码:
#include<stdio.h>
int main(int argc,char **argv)
{
    int a;
    a = 2147483650;//编译器对应int是四个字节的超过了四个字节的存储范围溢出
    printf("%d,%ld",a,a);
}
结果:
图片附件: 游客没有浏览图片的权限,请 登录注册


Go Go Go
2010-12-23 11:29
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:1 
以下是引用千i丶羽o在2010-12-23 09:01:56的发言:

请问在输出的时候,%1d和%d有什么区别?
如果要输出的长度本身就大于域宽,而输出的就是原来的没有域宽限制,怎么理解?
如果要输出的长度本身就大于域宽,而输出的就是原来的没有域宽限制,怎么理解?
是指你的实际数据的域宽大于限定域宽时,限定域宽不起作用!
eg:你的数据1234 你的限定域宽为3,即%3d,输出结果还是1234
只有你的实际数据域宽小于限定域宽式,限定域宽才起作用
2010-12-23 11:29
followme001
Rank: 2
等 级:论坛游民
威 望:1
帖 子:16
专家分:10
注 册:2010-12-2
收藏
得分:0 
真是我看错了,不好意思。
2010-12-23 11:53
freedgun
Rank: 5Rank: 5
等 级:职业侠客
帖 子:147
专家分:302
注 册:2010-11-11
收藏
得分:1 
好像没什么差别

有什么样的付出,就有什么样的收获!!
2010-12-23 12:03
快速回复:请问在输出的时候,%1d和%d有什么区别?
数据加载中...
 
   



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

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