| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2494 人关注过本帖
标题:能输出自己代码的程序
只看楼主 加入收藏
wuxiaoqi119
Rank: 2
等 级:论坛游民
帖 子:22
专家分:19
注 册:2007-1-18
收藏
得分:0 
还是搞不动
[QUOTE]
char *s="#include<stdio.h>\nint main()\n{\n\tprintf(%chello world%c);\n}";

[/QUOTE]
这段是怎么输出的
2007-02-27 01:33
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
以下是引用wuxiaoqi119在2007-2-27 1:33:44的发言:
还是搞不动

char *s="#include<stdio.h>\nint main()\n{\n\tprintf(%chello world%c);\n}";


这段是怎么输出的

我那个脱离题意,翻上面的贴子,上面有写的。


谁有强殖装甲第二部,可以Q我460054868
2007-02-27 09:37
星梦缘
Rank: 1
来 自:江西
等 级:新手上路
帖 子:413
专家分:0
注 册:2007-1-16
收藏
得分:0 
to:shuaiye
深入理解计算机系统 到那里可以下啊??
谢谢拉朋友

show出自己 活力四射!
2007-03-06 17:16
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

在百度上搜~~
有滴..


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-03-06 20:13
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

我写了一个输出源码程序的程序

#include<stdio.h>
main(int argc ,int *argv[])
{
FILE *fp;
int c = 0;
char *ch;

ch = argv[0];
c = strlen(ch);

ch[c-3] = 'c';
ch[c-2] = 0;

if((fp = fopen(ch,"rb")) == NULL)
{
puts("Open file error!");
getch();
exit(1);
}

while((c = fgetc(fp)) != -1)
printf("%c",c);

fclose(fp);
getch();
}


但是这个程序有BUG 就是如果不是在保存后就编译运行就会输出错误结果

2007-03-06 21:21
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
不能用文件函数的

羊肉串 葡萄干 哈密瓜!!
2007-03-06 21:59
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
???
什么情况
2007-03-06 22:29
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
这个题是Knocker出的,前提是不能用文件部分

羊肉串 葡萄干 哈密瓜!!
2007-03-06 22:42
frinklyn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-2-27
收藏
得分:0 

我能问一下这是怎么实现的(理论知识),我弄不出来!


一个没学英语,没学数学的计算机专业学者!
2007-03-06 23:29
frinklyn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-2-27
收藏
得分:0 

于能输出自己程序的代码的程序之个人理解

#include<stdio.h>
main()
{
char *a="#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}";
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
getch();
}

终于看懂了这个程序:
我来解释一下:
上面的红色的部分是定义一个字符型的指针a,指向的是引号里面的字符串部分;
上面的蓝色的部分是输出字符型指针a所指向的地址里的内容,也就是引号里的内容;
printf(a,10,10,10,9,34,a,34,10,9,10,10,10);
这里小括号内的第一个a是作为输出字符串的参数传入的,后面的
10,10,10,9,34,a,34,10,9,10,10,10都是作为输入格式控制的参数输入的,也就是对应着#include<stdio.h>%cmain()%c{%c%cchar *a=%c%s%c;%c%cprintf(a,10,10,10,9,34,a,34,10,9,10,10,10);%c%cgetch();%c}里面的那么%c,%s,这些数字按字符输出,它们对应的ASCII码刚好是:
9 制表符
10 换行符
34 引号(")

中间的那个a是作为%s的字符串内容传入的!

小弟是这样理解的,有什么不对的地方请各位大虾请教一哈!!

[URL=http://hi.baidu.com/frinklyn]本人百度博客[/URL]


一个没学英语,没学数学的计算机专业学者!
2007-03-07 00:22
快速回复:能输出自己代码的程序
数据加载中...
 
   



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

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