Hay una declaración int fun 4(int); int(*pf) (int)=fun4;
Int fun4(Int) declara una función cuyos parámetros son variables int y el valor de retorno también es de tipo int.
int(* pf)(int)= fun 4; declara un puntero de función, apuntando a dicha función: el parámetro es una variable int, el valor de retorno también es un int, la función fun4 satisface esto condición, entonces en este momento El puntero pf apunta a la función fun4.
La siguiente es una discusión detallada del error en las opciones.
a: int a = 15; int n = fun 4(amp; a); El parámetro de la función fun4 es una variable int, pero en este momento se le asigna una dirección. La dirección, los parámetros explícitos y los parámetros reales son inconsistentes y se debe informar un error.
b: Es posible ejecutar el resultado. Lo ejecuté en VS2005 y el resultado fue 47. Sin embargo, dado que la función fun4 requiere que el parámetro sea de tipo int y a*3.14 es de tipo double, aquí existe una conversión de tipo, lo cual no es seguro y no se recomienda.
Directora: Correcto.
d; Error de formato *pf(256), que es un direccionamiento indirecto ilegal, provocará errores de compilación y la operación no se realizará.
¡Espero que esto ayude! !