A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曦正 中级黑马   /  2016-2-2 10:09  /  1002 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

前天老师讲了指针函数,自己回家一试,很多东西都搞不明白;
指针函数可以当参数传递这个,自己试了也是没有问题的,问题是我定义了一个有返回值的参数,把这个函数当参数传到另一个函数去获取指针函数的返回值时获取不到。
  1. #include <stdio.h>
  2. int ab(int a,int b);
  3. int *pab(int a,int b);
  4. int abc(int *pab(int a,int b),int c);
  5. int main(int argc,const char* argue[]){
  6. int a=10,b=20,c=30;
  7. pab=ab;
  8. //到这一步都是没有问题的
  9. /*然后到下面,想要通过指针函数获取a+b的值要怎么获取?
  10. */
  11. int d=abc(*pad,c);
  12. }
  13. int ab(int a,int b){
  14. return a+b;
  15. }
  16. int abc(int *pab(int a,int b),int c){
  17. return pad+c;
  18. }
复制代码
感觉好无助~~~~在线求帮助~~~~~

4 个回复

倒序浏览
同学 你基础没打牢啊 ,指针函数,你要理解它首先是一个函数,返回值是一个指针,它的参数也应该是指针(要不然没意义),你的c是整型,pad是指针,怎么能相加呢。还有,你的int *pad(int a,int b)是什么鬼,到底是定义的指针,还是函数?要区分指针函数和函数指针啊。你这段代码错误太多了,建议再看看视频,重新理解一下
回复 使用道具 举报
怎么给分呢
回复 使用道具 举报
一枚小刁民 发表于 2016-2-2 20:18
同学 你基础没打牢啊 ,指针函数,你要理解它首先是一个函数,返回值是一个指针,它的参数也应该是指针(要 ...

不好意思,发完之后,我就懂了
回复 使用道具 举报
大水货
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马