C 我的功能不是';我打电话给他们后,他们就不工作了

C 我的功能不是';我打电话给他们后,他们就不工作了,c,C,我放了一个printf来检查函数是否工作,但我不明白为什么它不工作 函数中的数字都是正确的,但它们不会被执行 我不知道为什么这个函数不起作用,我不太懂C语言,所以如果有人能帮助我,我将不胜感激 这个程序应该通过计算教室里周围人的概率来计算你通过考试的概率 例如: P NXNXNXNXN ZNZNXXXXX XNZXNNNZX ZNXHXXXXZ NNNNZNNXN p-教授 准备好的学生 N-无准备的学生 空座位 H-Me 输入: 3 4 2 50 X X X X Z H N X Z N

我放了一个printf来检查函数是否工作,但我不明白为什么它不工作

函数中的数字都是正确的,但它们不会被执行

我不知道为什么这个函数不起作用,我不太懂C语言,所以如果有人能帮助我,我将不胜感激

这个程序应该通过计算教室里周围人的概率来计算你通过考试的概率

例如:

  P
NXNXNXNXN
ZNZNXXXXX
XNZXNNNZX
ZNXHXXXXZ
NNNNZNNXN
p-教授
准备好的学生
N-无准备的学生
空座位
H-Me

输入:

3 4
2 50
X X X X
Z H N X
Z N X X
预期产出:

Sanse za prolaz su 62.50%
获得的输出:

Sanse za prolaz su -0.00
#包括
#包括
#包括
///FUNKCIJA POSTOTAK
float fudaljenost(int visina、int sirina、char数组[visina][sirina])
{
浮动postotak=0;
浮点udaljenostx=0,udaljenosty=0,udaljenostx=0;
int-Hx,Hy;
int-Zx,Zy;
纽约州奈斯;

对于(int i=0;i函数写错了

它与[50][50]之前发送的数组大小不同

以下操作将解决此问题:

float fudaljenost(int visina, int sirina,char array[50][50])
float fprofesor(float strogost,int visina, int sirina,char array[50][50])

值得注意的是,最好定义MAX_ARRAY_SIZE 50,并使用MAX_ARRAY_SIZE而不是50。如果需要更改数字,这将更容易避免错误,并将提供关于50是什么的提示。

传递的当前代码强制转换为一个主变量
char ucica[50][50]={0}
转换为一个函数,该函数需要一个
float fprofesor原型(float strogost、int visina、int sirina、char array[visina][sirina])

从上下文来看,似乎[50]、[50]表示可能的最大输入大小,但程序将仅使用前几行/列(示例中为3、4)。无论使用多少数据,调用函数中的定义都应与数据大小匹配

float fprofesor(float strogost,int visina, int sirina,char array[50][50]) { ... }
float fudaljenost(int visina, int sirina,char array[50][50]) { ... }
旁注,
gcc-Wall
标记在未使用的变量上添加了许多警告,但在传递的数组中没有警告,因为小数组大小不匹配


另外,最好是“定义”最大大小,而不是重复50次硬编码。

你能告诉我们更多关于欲望输出和你现在得到的输出吗?当前输出是-0.00输入是3 4新行2 50新行X X X新行Z H N X新行Z N X X X预期输出``Sanse za prolaz su 62.50%``请解释您创建此代码的目的是什么。很难理解您的代码语言哦,对不起,我不知道是否需要此目的,因为变量在没有函数的情况下都可以工作,但是当我尝试使用函数并调用它们时,它们就是不工作,我不太理解函数,所以我可能做了一些错误的事情。我添加了更多帖子中的信息
float fudaljenost(int visina, int sirina,char array[50][50])
float fprofesor(float strogost,int visina, int sirina,char array[50][50])
float fprofesor(float strogost,int visina, int sirina,char array[50][50]) { ... }
float fudaljenost(int visina, int sirina,char array[50][50]) { ... }