|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大家别笑我,因为我真的想不通为什么?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
646
人关注过本帖
标题:
大家别笑我,因为我真的想不通为什么?
只看楼主
加入收藏
form521
来 自:西安
等 级:
新手上路
帖 子:162
专家分:4
注 册:2006-12-21
楼主
收藏
问题点数:0 回复次数:5
大家别笑我,因为我真的想不通为什么?
main()
{
int x,y;
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
}
为什么输出会是:
%d %3
跪求!
搜索更多相关主题的帖子:
int
main
输出
2008-03-13 19:52
举报帖子
使用道具
赠送鲜花
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
2
楼
收藏
得分:0
两个连续的%表示输出一个%
从BFS(Breadth First Study)到DFS(Depth First Study)
2008-03-13 19:58
举报帖子
使用道具
赠送鲜花
Kid_X
等 级:
黑侠
帖 子:216
专家分:515
注 册:2007-10-8
第
3
楼
收藏
得分:0
据我所知,在你的printf语句中,开始连着两个%%,是输出一个百分号,第一个百分号有点与转义字符类似;所以后面的d就直接被认为是字符输出了,之后又是两个%%,输出一个百分号,再%d输出一个整数,这个整数应该是x,因为前面没有输出过x和y,所以先输出x的值,如果把printf语句中再添加一个%d,就能输出y的值。你输出的结果是%d,%3
这个3是x的值,由于x是整型的,所以11/3的小数部分直接舍去了。
类似的输出还有反斜杠(\)的输出,前面必须再加个字符,要输出反斜杠,还像是printf("\\");具体记不清了,类似的还有一些其它的字符的输出,你可以看一下书。
2008-03-13 20:06
举报帖子
使用道具
赠送鲜花
form521
来 自:西安
等 级:
新手上路
帖 子:162
专家分:4
注 册:2006-12-21
第
4
楼
收藏
得分:0
%%%d那这个是3个%号呀?
%%d如果两个连续的%号表示输出一个%号的话,那这个就会输出%d,那
为什么不输出3
人生就是个死循环,退出这个循环的条件是系统停止。
2008-03-13 20:10
举报帖子
使用道具
赠送鲜花
Kid_X
等 级:
黑侠
帖 子:216
专家分:515
注 册:2007-10-8
第
5
楼
收藏
得分:0
如果要输出3,输出语句中就必须有%d,这个叫什么名字忘记了
前面的%%d被划分成了两部分,%%和d,所以他是不会输出3的。
后面的%%%d也被划分成了两部分,%%和%d。所以输出为%3。输出的%是对应%%,而3是对应%d的
[[it] 本帖最后由 Kid_X 于 2008-3-13 20:18 编辑 [/it]]
2008-03-13 20:14
举报帖子
使用道具
赠送鲜花
xianshizhe111
等 级:
新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
第
6
楼
收藏
得分:0
/*这种题目只有反复测试才能逐渐找到原因*/
main()
{
int x,y;
x=11/3;y=5;
printf("%%d,%%%d\n");/*,x,y);*/
}
2008-03-13 20:15
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
大家别笑我,因为我真的想不通为什么?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.026256 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved