当前位置: 代码迷 >> C语言 >> 函数调用指针的问题~
  详细解决方案

函数调用指针的问题~

热度:229   发布时间:2008-05-02 13:36:15.0
函数调用指针的问题~
把一个简单得数组赋值再输出的程序用函数+指针写出来,结果问题一大堆,越来越糊涂了
#include "stdio.h"
#define N 5
void fun2(int *p,int i){
   for(i=0;i<N*N;i++)
   printf("%d ",*(p+i));
}
void fuzhi(int *p,int i){
   int j;
   for(i=0;i<N;i++)
      for(j=0;j<N;j++)
        *(p+N*i+j)=N*i+j;
}
main(){
   void fun(int *a,int,int(*p)(int*c,int));
   int a[N][N],*p,i=0;
   p=*a;
   fun(p,i,fuzhi);
   fun(p,i,fun2);

   getch();
}
void fun(int *a,int b,int(*p)(int*c,int)){
   (*p)(a,b);
}
总提示这两行有错。。。大家帮帮忙把~谢谢啦~
搜索更多相关的解决方案: int  指针  函数  void  fun  

----------------解决方案--------------------------------------------------------
哦~发现错误了!!!
原来是void fun(int *a,int,void(*p)(int*c,int));调用的函数是VOID 所以不能用INT
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#define N 5
void fun2(int *p,int i){
   for(i=0;i<N*N;i++)
   printf("%d ",*(p+i));
}
void fuzhi(int *p,int i){
   int j;
   for(i=0;i<N;i++)
      for(j=0;j<N;j++)
        *(p+N*i+j)=N*i+j;
}
int main(void){
   void fun(int *a,int,void(*p)(int*,int));
   int a[N][N],*p,i=0;
   p=*a;
   fun(p,i,fuzhi);
   fun(p,i,fun2);
   getchar();
   return 1;
}
void fun(int *a,int b,void(*p)(int*,int)){
   p(a,b);
}
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
还是谢谢啦~~
----------------解决方案--------------------------------------------------------
其实你看错误提示就很明了了
----------------解决方案--------------------------------------------------------
回复 5# 的帖子
是诶。。。不过现在发现C语言学的好糊涂啊。。。看到一堆代码就晕菜了。。。
----------------解决方案--------------------------------------------------------
  相关解决方案