当前位置: 代码迷 >> C语言 >> 能输出自己代码的程序
  详细解决方案

能输出自己代码的程序

热度:350   发布时间:2007-02-26 20:46:07.0
我们都相信你~
----------------解决方案--------------------------------------------------------
这个程序与神大同小异。
#include<stdio.h>
int main(void)
{
char *s="#include<stdio.h>%cint main(void)%c{%c%cchar *s=%c%s%c%c%c%cprintf(s,10,10,10,9,34,s,34,59,10,9,10,9,10);%c%creturn 0;%c}";
printf(s,10,10,10,9,34,s,34,59,10,9,10,9,10);
return 0;
}
----------------解决方案--------------------------------------------------------
printf(s,10,10,10,9,34,s,34,59,10,9,10,9,10);


解释一下这句吧
大哥

----------------解决方案--------------------------------------------------------
你可以看成这样printf("....",x,x1,x2,x3,x4。。。);
"......."==s看成地址
x,x1,x2,x3,x4。。。看成后面10,10,10,9,34,s,34,59,10,9,10,9,10。

----------------解决方案--------------------------------------------------------
我自己做了个实验,加上你的说明
终于明白了,还是自己没把这个函数吃透彻呀

被教科书上的例子冰封了.

printf的第一个参数其实就是一个字符串指针,当然可以用str了,str里面是普通字符就原样输出
格式字符就把后面对应的值输出.


习惯了教科书上的printf("xxxxxx",1,2);这种模式,
看见你们的写法,突然间像看到新大陆样,.....


头脑不灵活.
----------------解决方案--------------------------------------------------------
大家相互学习才对。
----------------解决方案--------------------------------------------------------

[QUOTE]我自己做了个实验,加上你的说明
终于明白了,还是自己没把这个函数吃透彻呀

被教科书上的例子冰封了.

printf的第一个参数其实就是一个字符串指针,当然可以用str了,str里面是普通字符就原样输出
格式字符就把后面对应的值输出.


习惯了教科书上的printf("xxxxxx",1,2);这种模式,
看见你们的写法,突然间像看到新大陆样,.....


头脑不灵活.[/QUOTE]

建议学习学习汇编与计算机组成原理,利用--多利用debug调试汇编程序.


----------------解决方案--------------------------------------------------------
[QUOTE]

大家相互学习才对。

[/QUOTE]

great!!!!!
----------------解决方案--------------------------------------------------------
to:shuaiye有什么好作品介绍。
----------------解决方案--------------------------------------------------------

最近在看一本书,叫深入理解计算机系统,很不错,网上可以下载到.


----------------解决方案--------------------------------------------------------
  相关解决方案