标题:这个结果与源代码相同的程序让人费解
取消只看楼主
陨灭
Rank: 2
等 级:等待验证会员
帖 子:44
专家分:65
注 册:2013-4-21
结帖率:100%
已结贴  问题点数:20 回复次数:2 
这个结果与源代码相同的程序让人费解
请解释下面这段代码:(不要加空格或回车)
main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}
我看不懂这段代码,%c是什么用?为什么使用printf却可以不加头文件stdio.h?为什么printf内可以不用双引号?希望大神帮我解释一下这段代码。谢谢!
(由于是刚注册的账号,分不多,抱歉了)
搜索更多相关主题的帖子: 双引号 账号 
2013-04-21 16:09
陨灭
Rank: 2
等 级:等待验证会员
帖 子:44
专家分:65
注 册:2013-4-21
得分:0 
回复 3楼 邓士林
为什么第一个a打印到%c处时就停止打印a的字符串,然后定位到打印"?第二个%c(即printf中的第二个34)打印后为什么是放在}的后面而不是放在最末尾?望解答,谢谢

1@w-h.win
2013-04-22 00:19
陨灭
Rank: 2
等 级:等待验证会员
帖 子:44
专家分:65
注 册:2013-4-21
得分:0 
回复 7楼 YJ_Hao
原来如此,非常感谢

1@w-h.win
2013-04-22 08:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405055-1-1.html




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

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