📄 pointfunc.c
字号:
#include "reg51.h"
#include "stdio.h"
void init_ser()
{ SCON = 0x50; /*SCON:工作模式1,8-bit UART,允许接收*/
TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
TH1 = 0xf3; /*当波特率为2400时,定时器初值*/
TR1 = 1; /*定时器T1开始运行*/
TI = 1; /*允许发送数据*/
}
long factorial(int n) reentrant
{ long result;
if(n==0)
result=1;
else
result=n*factorial(n-1);
return result;
}
void main()
{ int j;
long tmp;
long (*p)(int n); /*函数指针变量定义*/
init_ser();
p=(void *)factorial;/*函数指针变量p指向factorial()函数*/
for(j=0;j<11;j++)
{ tmp=(*p)(j); /*用指针变量p调用factorial()函数*/
printf("%d!=%ld\n",j,tmp);
}
for(;;){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -