【发布时间】:2015-04-14 17:18:24
【问题描述】:
我正在尝试学习如何使用指针来正常工作。我应该在函数check 内部创建一个指向函数strcmp 的指针,但程序会立即打开和关闭。据我了解,我的代码returnType (*pointer)(parameters)); 上的函数指针是正确的那么出了什么问题?提前致谢。
void check(char *a,char *b,int (*cmp)(const char*,const char*))
{
printf("Testing equality\n");
if(!(*cmp)(a,b)) printf("equals");
else printf("different");
}
int main(void)
{
char s1[80] = "daniel" ,s2[80] = "daniel";
int (*p)(const char*,const char*);
p = strcmp();
check(s1,s2,p);
return 0;
}
【问题讨论】:
-
编译器没有警告过你这个
p = strcmp();吗? -
哪个编译器编译成功
p = strcmp();?而怎么做? -
您是否自己添加了
strcmp的声明以使其编译? (你可以直接说check(s1, s2, strcmp)。)
标签: c++ c pointers function-pointers