动态执行!
程序代码:
#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");
}
#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 counter(int a, int b, int c, types vd[])
types vc[3] 无意义, 就是 types vd[] , 一般我写成 types * vd 。
-
[[italic] 本帖最后由 cosdos 于 2008-1-1 20:53 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
#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]]
----------------解决方案--------------------------------------------------------
指向函数的指针的数组。
----------------解决方案--------------------------------------------------------
原帖由 [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 。
-
void counter(int a, int b, int c, types vd[])
types vc[3] 无意义, 就是 types vd[] , 一般我写成 types * vd 。
-
谢谢提醒!
----------------解决方案--------------------------------------------------------
^_^
----------------解决方案--------------------------------------------------------