分享一段好玩的程序,这段程序在干什么,你看的懂吗?

软件和网站开发以及相关技术探讨
回复
头像
Loop.wu
帖子: 102
注册时间: 2011-03-28 11:04
来自: 我躲着,你来找
联系:

分享一段好玩的程序,这段程序在干什么,你看的懂吗?

#1

帖子 Loop.wu » 2011-04-21 10:03

【本文为OurUnix--Linux's境原创,转载请注明源地址www.ourunix.org

这段程序在干什么,你看的懂吗?

代码: 全选

#include <stdio.h>
int main()
{
        int k;
        scanf("%d",&k);
        printf("after call foo %d\n",foo(k));
        return 0;
}
int foo(int number)
{
        int i = 0;
        switch (number % 8)
        {
              case 0:
                        do {
                                 i += 1; /*break;*/
                        printf("%d\n",number);
                                case 7: i += 2;
                                case 6: i += 3;
                                case 5: i += 4;
                                case 4: i += 5;
                                case 3: i += 6;
                                case 2: i += 7;
                                case 1: i += 8;
                        } while ((number -= 8) > 0);
                        break;
        }
        return i;
}
相关点评及正解请点击
上次由 Loop.wu 在 2011-04-25 16:24,总共编辑 1 次。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 分享一段好玩的程序,这段程序在干什么,你看的懂吗?

#2

帖子 fanhe » 2011-04-24 20:33

代码请框起来,不然看的心情都没有
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
联系:

Re: 分享一段好玩的程序,这段程序在干什么,你看的懂吗?

#3

帖子 月下叹逍遥 » 2011-04-24 20:38

请使用语法高亮功能 :em09 [c]#include <stdio.h>
int main()
{
int k;
scanf("%d",&k);
printf("after call foo %d\n",foo(k));
return 0;
}
int foo(int number)
{
int i = 0;
switch (number % 8)
{
case 0:
do {
i += 1; /*break;*/
printf("%d\n",number);
case 7: i += 2;
case 6: i += 3;
case 5: i += 4;
case 4: i += 5;
case 3: i += 6;
case 2: i += 7;
case 1: i += 8;
} while ((number -= 8) > 0);
break;
}
return i;
}[/c]
浮生七十今三十,从此凄惶未可知
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 分享一段好玩的程序,这段程序在干什么,你看的懂吗?

#4

帖子 fanhe » 2011-04-24 23:16

我只喜欢kiss
复杂的东西懒得看
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 分享一段好玩的程序,这段程序在干什么,你看的懂吗?

#5

帖子 eexpress » 2011-04-25 9:33

代码: 全选

34:	my %hash=map{split /:/} grep /FN|EMAIL/,split /\n/s;
37-	for(keys %hash){$con=$con."\'".$hash{FN}."\' \'".$hash{$_}."\' " if /EMAIL/;}
看看这。
● 鸣学
回复