C语言_函数指针实例

深碍√TFBOYSˉ_ 2022-10-13 01:57 339阅读 0赞

自定义函数指针来实现C++面向对象的多态特性。

这里遇到一个问题:printf行缓冲区的问题,Linux不会一个字一个字的输出,而是等待缓冲区满了,一下输出,或者遇到换行符也会将整行输出。

  1. #include <stdio.h>
  2. typedef int(*pFunc)(int ,int ); // 函数指针
  3. int add(int a,int b)
  4. {
  5. return a + b;
  6. }
  7. int sub(int a,int b)
  8. {
  9. return a - b;
  10. }
  11. int mul(int a,int b)
  12. {
  13. return a + b;
  14. }
  15. int div(int a,int b)
  16. {
  17. return a / b;
  18. }
  19. int main()
  20. {
  21. int a=0,b=0;
  22. char c=0;
  23. pFunc p1 = NULL;
  24. int result = 0;
  25. printf("请输入两个数\n");
  26. scanf("%d,%d",&a,&b);
  27. printf("请选择+ - * / \n");
  28. // 这个do while 加上可去掉
  29. do
  30. {
  31. scanf("%c",&c);
  32. }while('\n' == c);
  33. // scanf("%c",&c);
  34. switch(c)
  35. {
  36. case '+':
  37. p1 = add;
  38. break;
  39. case '-':
  40. p1 = sub;
  41. break;
  42. case '*':
  43. p1 = mul;
  44. break;
  45. case '/':
  46. p1 = div;
  47. break;
  48. default:
  49. p1 = NULL;
  50. break;
  51. }
  52. result = p1(a,b);
  53. printf("%d %c %d = %d.\n",a,c,b,result);
  54. return 1;
  55. }

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言-函数指针

    函数指针 函数指针是指向函数的指针变量。 函数指针本身首先应该是指针变量,只不过该指针变量指向函数。 > C在编译的时,每一个函数都有一个入口地址,该入口地址就是函

    相关 C语言_函数指针实例

    自定义函数指针来实现C++面向对象的多态特性。 这里遇到一个问题:printf行缓冲区的问题,Linux不会一个字一个字的输出,而是等待缓冲区满了,一下输出,或者遇到换行符也

    相关 c语言函数指针应用

    函数指针          函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调