| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1944 人关注过本帖
标题:C语言中printf函数的问题
取消只看楼主 加入收藏
hiter727
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-8-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
C语言中printf函数的问题
为什么下面程序运行结果与源代码一模一样?
#include
main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}

“printf(a,34,a,34)”这一句我没有想明白,百科上说“printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)”,但这里没有“格式化字符串”,我也不懂参量表是什么东东。

我现在的想法是由于字符串本身就是地址,printf(a,34,a,34)中的a就是"main(){char*a=%c%s%c;printf(a,34,a,34);}"的地址,但我改成printf(a)后,打印会有乱码。另外printf中的34起到了什么作用?

小弟刚刚学习C语言,还请各位指教,先谢谢了!
搜索更多相关主题的帖子: 源代码 C语言 字符串 
2016-08-19 19:42
hiter727
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-8-19
收藏
得分:0 
回复 2楼 吹水佬
豁然开朗啊!谢谢老师 我忘了34是ascii码来解释%c
另外问下,如果我就想输出字符串“%s”或“%c”,要怎么办呢?
2016-08-19 21:34
hiter727
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-8-19
收藏
得分:0 
回复 5楼 单传利
谢谢:)
2016-08-20 11:12
快速回复:C语言中printf函数的问题
数据加载中...
 
   



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

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