以文本方式查看主题 - 趣题之家 (http://qthome.org/bbs/index.asp) -- 奇异题目 (http://qthome.org/bbs/list.asp?boardid=5) ---- 输出你自己的代码(一道有难度的问题) (http://qthome.org/bbs/dispbbs.asp?boardid=5&id=184) |
-- 作者:whqlsc -- 发布时间:11/2/2004 2:02:20 PM -- 输出你自己的代码(一道有难度的问题) Problem 你曾经看到过这样的程序吗?当它运行的时候,将会输出一些字符,这些字符恰好组成了这个程序的代码本身。 请你写这样的一个程序。 请注意,你的程序运行时将不能访问到源程序(系统已经将源代码删除)。 本题没有输入数据。 输出必须和你提交的代码本身一致 |
-- 作者:ppatsname -- 发布时间:11/5/2004 12:12:45 PM -- 空白就好了。。。。 |
-- 作者:欢乐 -- 发布时间:11/5/2004 8:07:51 PM -- 好问题。我喜欢这样的 |
-- 作者:逍遥婵娟 -- 发布时间:11/6/2004 10:27:49 PM -- 源程序为“对不可编译的错误代码提示” |
-- 作者:欢乐 -- 发布时间:11/7/2004 1:35:44 PM -- ……正解…… |
-- 作者:McDsl -- 发布时间:1/28/2005 7:14:40 PM -- tju上面有现题 |
-- 作者:趣题之主 -- 发布时间:1/31/2005 6:34:48 PM -- 这题到现在我还没有AC…… |
-- 作者:雪儿 -- 发布时间:2/9/2005 5:56:06 PM -- 哎 |
-- 作者:doubleelec -- 发布时间:3/3/2005 10:51:02 AM -- 以下是引用逍遥婵娟在2004-11-6 22:27:49的发言: 源程序为“对不可编译的错误代码提示” 不懂。不可编译怎么“运行”? |
-- 作者:doubleelec -- 发布时间:3/3/2005 4:13:41 PM -- 这是一个linux下编的程序,将源代码命名为 prnself.s ,用gcc编译 gcc -o prnself prnself.s 然后删除prnself.s,运行 ./prnself 试试看。 .LC0: [此贴子已经被作者于2005-3-4 10:14:24编辑过]
|
-- 作者:doubleelec -- 发布时间:3/4/2005 10:15:58 AM -- C语言程序: char *s="int main() { char *p; putchar(\'c\');putchar(\'h\');putchar(\'a\');putchar(\'r\');putchar(\' \');putchar(\'*\');putchar(\'s\');putchar(\'=\');putchar(34); for (p=s; *p; p++) putchar(*p); putchar(34);putchar(\';\');putchar(10); for (p=s; *p; p++) putchar(*p); putchar(10); return 0; }"; int main() { char *p; putchar(\'c\');putchar(\'h\');putchar(\'a\');putchar(\'r\');putchar(\' \');putchar(\'*\');putchar(\'s\');putchar(\'=\');putchar(34); for (p=s; *p; p++) putchar(*p); putchar(34);putchar(\';\');putchar(10); for (p=s; *p; p++) putchar(*p); putchar(10); return 0; } [此贴子已经被作者于2005-3-4 11:28:30编辑过]
|
-- 作者:doubleelec -- 发布时间:3/4/2005 11:27:15 AM -- 格式弄得好看一点: char *str="int main()\\n" "{\\n" " char *p;\\n" "\\n" " printf(\\"char *str=%c\\", 34);\\n" " for (p=str; *p; p++) {\\n" " if (*p == 34)\\n" " printf(\\"%c%c\\", 92, *p);\\n" " else if (*p == 10)\\n" " printf(\\"%cn%c%c%c\\", 92, 34, 10, 34);\\n" " else\\n" " putchar(*p);\\n" " }\\n" " printf(\\"%c%c%c%c%s%c\\", 34, 59, 10, 10, str, 10);\\n" "\\n" " return 0;\\n" "}"; int main() printf("char *str=%c", 34); return 0; [此贴子已经被作者于2005-3-4 11:29:10编辑过]
|
-- 作者:gdgzgq -- 发布时间:3/4/2005 8:15:27 PM -- 如果用PASCAL,怎么编? |
|
|||