永发信息网

函数指针问题?

答案:3  悬赏:10  手机版
解决时间 2021-04-30 00:47

#include <stdio.h>
int *jiansuan(int *p,int n)
{
int sum;
for(int i=0;i<12;i++)
{
sum+=*p;
p++;

}
return sum;

}
void main()
{

int shuzu[3][4]={3,4,5,66,44,33,23,44,55,43,32,12};
int *p1;
printf("");
p1=*jisuan(shuzu,12);
printf("和是:%d",*p1);


}

帮我改下

最佳答案

要注意2维数组的指针:



#include <stdio.h>
const int N = 4;
const int M = 3;
int *jiansuan(int (*p)[N])
{
int sum = 0;
int *result;

for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
{
sum += p[i][j];
}
}
result = &sum;
return result;
}
void main()
{
int shuzu[M][N]={3,4,5,66,44,33,23,44,55,43,32,12};
int *p1;
p1=jiansuan(shuzu);
printf("和是:%d\n",*p1);
}


全部回答

#include <stdio.h> int jiansuan(int *p,int n) // 函数返回类型应为 int; { int sum = 0;// 初始化; for(int i=0;i<12;i++) { sum+=*p; p++; } return sum;// 与返回类型对应 }

void main() { int shuzu[3][4]={3,4,5,66,44,33,23,44,55,43,32,12}; int p1;// int 类型; printf(""); p1=jiansuan(shuzu[0],12);// 3 处修改: 函数名字不对;函数名前去掉*;第一个参数类型不对; printf("和是:%d\n",p1);// *p1 改为 p1; }

你这个是指针函数而不是函数指针,不要搞混了.

像这个程序,你得把你的返回值类型改成int 而不是int *

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
早点接触性教育是好还是坏
诺基亚e66怎么样?
桦川县林业局地址有知道的么?有点事想过去
球销式互锁装置是如何起到互锁作用的?
用绿钻下载的音乐,好多都不能在MP3上放,好
衣物过敏怎么办?
人要是死了心里会想什么啊?
现在最火的游戏市什么
130t循环流化床锅炉生产厂家电话号码
湖南那里能学做饼干
移动通信有没有面值一千的话费充值卡
爱都婚介地址在哪,我要去那里办事
同样的速度 .同样的心思 .为什么难以激发同样
你们钓鱼都钓到了什么?
蓝染明明有能力去像草冠那样抢夺王键 那他为
推荐资讯
下一站幸福第四集在哪观看!
c5内存卡里很多未知软件占了很大内存,哪些能
肛瘘不手术可以吗?
鬼剑有时装改天空套有带属性的
除了友情、亲情和爱情,人还有哪些感情?
联通打电话查话费是按顺序按哪几个数字键?
有一首歌 歌词里有 do i do ....why do... 再
谁能传我个3GP转换器
帮忙起一个性点的QQ网名
胖子副食地址有知道的么?有点事想过去
征求选美瞳技巧,麻烦大家给点建议噢,
跪求名将3国的激活码
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?