

#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
double (*fp[2])(double) = {sqrt,fabs};//[]优先级大于*
for(int i = 0;i < 2;i++)
{
cout << fp[i](9) << endl;
}
for(int i = 0;i < 2;i++)
{
cout << (*fp[i])(9) << endl;//[]优先级大于*
}
for(int i = 0;i < 2;i++)
{
cout << ((*fp)[i])(9) << endl;//[]优先级大于*
}
}
函数指针.cpp:20: warning: pointer to a function used in arithmetic
试题$ ./1
3
9
3
9
3//估计这个地方直接把数组的第一个元素拿来用了,且没有移动指针了。
3


浙公网安备 33010602011771号