C语言_函数结构体的调用
#include<stdio.h> //定义存储函数的结构体 struct map{ //定义无参数类型返回void的函数指针 void (*p)(); }; /* * 通过实验观察系统如何处理整数上溢,浮点数上溢和浮点数下溢 */ void one(); //编写一个程序,要求提示输入一个ASCIL码值,然后打印输入的字符 void two(); //编写一个程序。发出一声警报,然后打印下面的文本 void three(); //编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式,然后如果系统支持,再打印成p记数法, void four(); //一年大约有3.156e+7秒,编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数 void five(); //一个水分子的质量约为3.0e-23克,1夸脱水大约是950克,编写一个程序,提示用户输入谁的夸脱数,并显示水分子的数量。 void six(); //一英寸相当于2.54厘米,编写一个程序,提示用户输入身高(/英寸),然后以厘米为单位显示身高。 void seven(); //在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺,编写一个程序,提示 //用户输入杯数,并以品脱,盎司,汤勺,茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适。 void eight(); int main(){ //定义存储函数指针的数组 struct map ma[30]; //存储函数指针 ma[0]={one}; ma[1]={two}; ma[2]={three}; ma[3]={four}; ma[4]={five}; ma[5]={six}; ma[6]={seven}; ma[7]={eight}; printf("请输入执行第几个方法:\n"); int size=0; //刷新标准输出设备缓冲区 fflush(stdout); //接收控制台输入存储到size的float变量 scanf("%d",&size); //获取函数指针并运行 ma[size].p(); //结束 return 0; }; void one(){ int size=333333333333; float fl=444.1111111111111111111111111; printf("%d %f %f\n",size,fl,-fl); }; // void two(){ int vb; /* * scanf()接收的数据必须要赋值给数据地址,int或char变量不是地址。所以要利用取地址符&获取数据地址 */ scanf("%d",&vb); printf("%c\n",vb); }; void three(){ printf("Startled by the sudden sound,Sally shouted,\nBy the Great Pumpkin,what was that! \a"); }; void four(){ float a; scanf("%f",&a); printf("%f %e %a\n",a,a,a); }; void five(){ int age; printf("请输入你的年龄:\n"); //刷新stdout,显示stdout里的内容 fflush(stdout); scanf("%d",&age); printf("该年龄对应的秒数:%e",age*3.156e+7); }; void six(){ printf("请输入水的跨脱数:\n"); fflush(stdout); int size; scanf("%d",&size); printf("夸脱数为%d的水分子的数量为%e个:\n",size,size*950/3.0e-23); }; void seven(){ printf("请输入身高(/英尺)\n"); fflush(stdout); float height; scanf("%f",&height); printf("您的身高为:%f\厘米!\n",height*2.54f); }; void eight(){ printf("请输入杯数!\n"); fflush(stdout); float bow; scanf("%f",&bow); float bow1=bow; float pintuo=bow/2; bow*=8; float angsi=bow; bow*=2; float tangshao=bow; bow*=3; float chashao=bow; printf("%f等于%f品脱,%f盎司,%f汤勺,%f茶勺!\n",bow1,pintuo,angsi,tangshao,chashao); };
C语言_函数结构体的调用
最新推荐文章于 2024-09-11 10:32:34 发布