CODE1
#include
#include
int a1(int t)
{
return t+1;
}
int a2(int t)
{
return t+2;
}
void main()
{
int i;
int para=23;
for(i=1;i<=2;i++)
{
switch(i)
{
case 1:
printf("a1=%d\n", a1(para));
break;
case 2:
printf("a2=%d\n", a2(para));
break;
default:
printf("bad\n");
}
}
}
CODE2
#include
#include
int (*a[4])();
int a1(int t)
{
return t+1;
}
int a2(int t)
{
return t+2;
}
int main(int argc, char *argv[])
{
int i;
int para=23;
int re;
a[1] = a1;
a[2] = a2;
for(i=1;i<=2;i++)
{
re = (*a[i])(para);
printf("a%d = %d\n", i, re);
}
return 0;
}
代码是我从一个帖子中看到稍微改动了下,显然第二段代码使用了函数指针,如何使用很清楚,但是往往代码中使用函数指针的部分很容易让代码难读,确定自己没有问题的情况下再考虑用函数指针吧
阅读(1299) | 评论(0) | 转发(0) |