返回列表 发帖

[转]挺好玩的C小代码

[这个贴子最后由我郁闷在 2004/10/23 09:18pm 第 3 次编辑] #include main(_){char*x="*b#**000**I#*******2*0***#-.****5.*-#-.****54.#*******2**6#****00**0.#";while(_=*x/4)_-=8,printf("\n%*s"+!!_,_+_,"_/_/_/"+*x++%4*2);}

[转]挺好玩的C小代码

请问你写的是什么?

TOP

[转]挺好玩的C小代码

#include main(_) { char*x="*b#**000**I#*******2*0***#-.****5.*-#- .****54.#*******2**6#****00**0.#"; while(_=*x/4)_-=8,printf("\n%*s"+!!_,_+_,"_/_/_/"+*x++%4*2); } 这样还好看一点,不过还是没看懂,你学的肯定没错吧?

TOP

[转]挺好玩的C小代码

能不能解释一下结果
我也不敢在自己的机子上试~~
谢谢楼主了

TOP

[转]挺好玩的C小代码

在main(_)这里的“_”是个参数名,下划线也可以做参数名的。 --------------------------------------------------------- 下面的是别人看了此代码的回贴: 这段代码真的是很有意思。从中我学到不少技巧。 首先,我第一次发现main可以只有一个参数。(以前我只知道它可以有两个或没有参数) 第二,我第一次见%*s的用法。看过这段代码后我查阅了很多资料,可都没有找到关于它的信息。最后还是通过观察这段代码及其运行结果,还有做实验才明白。 下面是我模仿这段代码写的另一个小程序,以此表达我学到新东西后的喜悦之情:) # include main(_){char *x="EWl#NEE#gN#`w#`W#`W#";while(_=*x/9) _-=3, printf("\n%*s"+!!_,_,"_/_/_/_/"+*x++%9);} 需要说明的一点是,字符串中的"l"是"L"的小写,"`"是键盘主键区最右上角的那个键。 原代码的输出是"knocker"吧?好像是字符串出了点问题,我看到的结果有点错位。 不管怎么说,我很佩服这段代码的原作者。他的算法很巧妙。 他用这样一个公式 x=(a+c)*k+(m-b) 完成对图形数据的处理(我不敢妄言压缩)。这有点像对BMP位图的一种压缩算法。 ------------------------------------------------------------------- about %*s: If the width specification is an asterisk (*), an int argument from the argument list supplies the value. The width argument must precede the value being formatted in the argument list. A nonexistent or small field width does not cause the truncation of a field; if the result of a conversion is wider than the field width, the field expands to contain the conversion result for example: main() { char *p="AAAAA"; printf("[%s]\n",p); printf("[%*s]\n",10,p); }

TOP

[转]挺好玩的C小代码

看了N久!
不明白
+*x++%4*2这不多出来了啊!!!!先做左边的还是右边的啊

TOP

[转]挺好玩的C小代码

执行一遍就都明白了~

TOP

[转]挺好玩的C小代码

没看明白,也无法执行,报错: error C2065: '_' : undeclared identifier error C2448: '' : function-style initializer appears to be a function definition 这好像表示main函数不能有参数_吧

TOP

[转]挺好玩的C小代码

下面引用由abmark2004/11/20 08:04pm 发表的内容:
执行一遍就都明白了~
不同版本的不一样哦,有的要函数啊

TOP

返回列表 回复 发帖