weixin_45629315
YYH211
采纳率33.3%
2019-10-09 21:51 阅读 325

数组指针的应用??????

#include
int perimeter(int x,int y);
int area(int x,int y);
int solution(int x,int y,int(*ptr)());
int main()
{
int a,b;
printf(" 请输入A和B的值:");
scanf("%d%d",&a,&b);
printf(" Perimeter of a rectangle:");
solution(a,b,perimeter);
printf(" Area of a rectangle:");
solution(a,b,area);
}
int perimeter(int x,int y)
{
return (2*(x+y));
}
int area(int x,int y)
{
return x*y;
}
int solution(int x,int y,int(*ptr)())
{
int result;
result=(*ptr)(x,y);
printf("%d\n",result);
}

[Error] C:\Users\H\Documents\C-Free\Temp\未命名1.cpp:11: error: invalid conversion from int (*)(int, int)' toint (*)()'

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-09 22:40

    int solution(int x,int y,int(*ptr)());
    ->
    int solution(int x,int y,int(*ptr)(int, int));

    因为你有2个参数

    点赞 1 评论 复制链接分享
  • a5322159 a5322159 2019-10-10 08:44

    二维数组经过两次偏移找到某一元素,使用的是数组指针,数组指针是一级指针

    #include
    #include
    void print(int b[][4],int row){
    int i,j;
    for(i=0;i<row;i++){
    for(j=0;j<sizeof(*b)/sizeof(int);j++){
    printf("%2d",b[i][j]);
    }
    }
    printf("\n");
    }
    int main(){

    int a[3][4]={1,3,5,7,5,6};
    int (*p)[4];
    p=a;
    print(p,3);
    system ("pause");
    return 0;
    

    }

    点赞 评论 复制链接分享

相关推荐