明显调用的表达式前的括号必须具有(指针)函数型;项不会计算为接受1个参数的函数

qq_41617351 2019-10-17 05:06:51
代码如下,这两个错误是什么意思?求教怎么解决?


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define M 3

double getA(double R[M][M])
{
double m;
double ans[2][M];
int i, j, k, h;
for (i = 0; i < M; i++)
{

for (k = 0; k < M; k++)
{
h = k + i;
if (h >= M)
{
h = h - M;
}
ans[0][i] *= R[h][k];
}
}
for (i = 0; i<M; i++)
{
for (k = 0; k < M; k++)
{
h = M - 1 - k;
j = i + k;
if (j >= M)
{
j = j - M;
}
ans[1][i] *= R[j][h];
}
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < M; j++)
{
if (i = 0)
{
}
else
{
ans[i][j] = -ans[i][j];
}
m += ans[i][j];
}
}
return m;
}

void main()
{
double getA;
double R[M][M];
int i, j;
printf("请输入一个3*3的数组");
for (i = 0; i < M; i++)
{
for (j = 0; j < M; j++)
{
scanf_s("%f", &R[i][j]);
}
}
printf("%f\n", getA(R[M][M]));
system("pause");
}
...全文
2019 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wowpH 2019-10-17
  • 打赏
  • 举报
回复
第56行的变量名和函数名同名了。
coding__madman 2019-10-17
  • 打赏
  • 举报
回复
首先 1. 二维数组作为函数参数一般不这么定义 double getA(double R[M][M]) 2. scanf_s("%f", &R[i][j]); 函数的用法你先确定是这么用的吗? 一般用scanf("%f", &R[i][j]); 3. printf("%f\n", getA(R[M][M])); 当M为3的时候, R[3][3] 是不存在的,已经越界了,数组下标是从0开始的。

70,018

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧