| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 521 人关注过本帖
标题:动态执行!
收藏  订阅  推荐  打印 
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2122
积分:23963
注册:2006-11-30
动态执行!


程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef void (*types)(void);
void counter(int a, int b, int c, types vd[3]);
void printx(void);
void printy(void);
void printj(void);

int main(void)
{
        types pp[3]={printx,printy,printj};
        int x,y,j;
        scanf("%d,%d,%d",&x,&y,&j);
        counter(x,y,j,pp);
        system("pause");
        return 0;
}
void counter(int a, int b, int c, types vd[3])
{
        vd[a]();
        vd[b]();
        vd[c]();
}

void printx(void)
{
        printf("XXXXXXXXXXXXXXXXXXXX\n");
}
void printy(void)
{
        printf("YYYYYYYYYYYYYYYYYYYY\n");
}
void printj(void)
{
        printf("JJJJJJJJJJJJJJJJJJJJ\n");
}
[[italic] 本帖最后由 ioriliao 于 2008-1-1 20:40 编辑 [/italic]]
搜索更多相关主题的帖子: void  int  types  动态  counter  
2008-1-1 20:15
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19

void counter(int a, int b, int c, types vd[])

types vc[3] 无意义, 就是 types vd[] , 一般我写成 types * vd 。


-

[[italic] 本帖最后由 cosdos 于 2008-1-1 20:53 编辑 [/italic]]

—>〉Sun〈<—
2008-1-1 20:46
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19

#include <stdio.h>
#include <stdlib.h>

typedef void (*types)(void);
void counter(int a, int b, int c, types vd[3]);
void printx(void);
void printy(void);
void printj(void);

int main(void)
{
        types pp[3] = {printx, printy, printj};
        int x,y,j;

        while(scanf("%d,%d,%d", &x, &y, &j) != 3)
            while(getchar() != '\n')
                continue;

        x %= 3;
        y %= 3;
        j %= 3;

        pp[x]();
        pp[y]();
        pp[j]();
        
        system("pause");
        return 0;
}

void printx(void)
{
        printf("XXXXXXXXXXXXXXXXXXXX\n");
}
void printy(void)
{
        printf("YYYYYYYYYYYYYYYYYYYY\n");
}
void printj(void)
{
        printf("JJJJJJJJJJJJJJJJJJJJ\n");
}


// 因为我第一次没看代码,运行时发生错误,所以修改下代码。

[[italic] 本帖最后由 cosdos 于 2008-1-1 20:59 编辑 [/italic]]

—>〉Sun〈<—
2008-1-1 20:50
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19

指向函数的指针的数组。

—>〉Sun〈<—
2008-1-1 20:51
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2122
积分:23963
注册:2006-11-30

原帖由 [bold][underline]cosdos[/underline][/bold] 于 2008-1-1 20:46 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1167940&ptid=195377][/url]
void counter(int a, int b, int c, types vd[])

types vc[3] 无意义, 就是 types vd[] , 一般我写成 types * vd 。


-
谢谢提醒!
2008-1-1 21:17
灭火的风
Rank: 2
来自:杭州
等级:注册会员
帖子:150
积分:1714
注册:2006-6-15

^_^
2008-1-2 18:14
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.048287 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved