fnptr-by-value-1_y.c

来自「用于进行gcc测试」· C语言 代码 · 共 112 行

C
112
字号
#include <stdarg.h>#include "compat-common.h"typedef void (*fpi)(int);typedef void (*fpd)(double);extern int f1_val;extern void checki (int, int);voidtest1a (fpi f){  (*f)(1);}voidtest1b (fpi f, int i){  (*f)(i);}voidtest1c (double x, fpd f){  (*f)(x);}voidtest2a (fpi f1, fpd f2){  (*f1)(10);  (*f2)(10.0);}voidtest2b (fpi f1, fpd f2, int i){  (*f1)(i);  (*f2)((double)i);}voidtest2c (fpi f1, int i, fpd f2){  (*f1)(i);  (*f2)((double)i);}voidtest2d (int i, fpi f1, fpd f2){  (*f1)(i);  (*f2)((double)i);}voidtest2e (fpi f1, fpd f2, int i, double x){  (*f1)(i);  (*f2)(x);}voidtest2f (fpi f1, int i, fpd f2, double x){  (*f1)(i);  (*f2)(x);}voidtest2g (fpi f1, int i, double x, fpd f2){  (*f1)(i);  (*f2)(x);}voidtest2h (double x, fpd f1, fpi f2, int i){  (*f1)(x);  (*f2)(i);}voidtest2i (double x, fpd f1, int i, fpi f2){  (*f1)(x);  (*f2)(i);}voidtest2j (int i, double x, fpi f1, fpd f2){  (*f1)(i);  (*f2)(x);}voidtestva (int n, ...){  int i;  va_list ap;  va_start (ap, n);  for (i = 0; i < n; i++)    {      fpi fp = va_arg (ap, fpi);      (*fp)(i);      checki (f1_val, i);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?