如何在此代码中调用函数?我正在使用 visual studio 软件。不断收到 array1 和 2 未定义的错误
How do I call functions within this code? Im using the visual studio software. keep getting errors that array1 and 2 are undefined
enter image description here
抱歉,我是编码新手。我已经在这里搜索了可能的解决方案,但没有用。我也对为什么有些代码与其他代码相比显得灰色感到困惑。
https://1drv.ms/w/s!Ag8vVFKVPyOg6HeYLehGjQKdvl_3?e=QHY6t9
#include <stdio.h>
// initialised variables
int i = 0;
int count = 0;
void displayfunction(void);
int month = 0;
void highervalues(float array1[12], float array2[12]);
void highervalues(float array1[12], float array2[12]) {
for (i = 12; i > 0; i--) {
if (array2[i] > array1[i]) {
count = count + 1;
}
}
}
//Reading values for array1 and array2
void displayfunction(void) {
highervalues(array1[12] , array2[12]);
for (i = 0; i < 12; i++)
{
month = month + 1; // month increases by 1 after each input
printf_s("enter values for year 1 month %d", month);
scanf_s("%f", &array1[i]);
}
for (month = 12; month > 0; month--) {
}
for (i = 0; i < 12; i++) {
month = month + 1;
printf_s("enter values for year 2 month %d", month);
scanf_s("%f", &array2[i]);
}
}
/*comapring 2 arrays and increasing count value if there are any value in array2
are greater than array1*/
int main() {
displayfunction();
int array1[12];
int array2[12];
}
你对变量作用域有根本性的误解
int main() {
displayfunction();
int array1[12];
int array2[12];
}
这些数组仅在 main 中可用。如果你想让其他函数对它们进行操作,你必须将它们作为参数传递给那些函数。另外,在您尝试调用 displayFunction
时它们不存在
所以改变
void displayfunction(void)
至
void displayfunction(float array1[12], float array2[12])
然后在主要做
int main() {
int a1[12];
int a2[12];
displayfunction(a1, a2);
}
请注意,我在这里更改了名称只是为了强调名称相同这一事实并不重要。
enter image description here
抱歉,我是编码新手。我已经在这里搜索了可能的解决方案,但没有用。我也对为什么有些代码与其他代码相比显得灰色感到困惑。 https://1drv.ms/w/s!Ag8vVFKVPyOg6HeYLehGjQKdvl_3?e=QHY6t9
#include <stdio.h>
// initialised variables
int i = 0;
int count = 0;
void displayfunction(void);
int month = 0;
void highervalues(float array1[12], float array2[12]);
void highervalues(float array1[12], float array2[12]) {
for (i = 12; i > 0; i--) {
if (array2[i] > array1[i]) {
count = count + 1;
}
}
}
//Reading values for array1 and array2
void displayfunction(void) {
highervalues(array1[12] , array2[12]);
for (i = 0; i < 12; i++)
{
month = month + 1; // month increases by 1 after each input
printf_s("enter values for year 1 month %d", month);
scanf_s("%f", &array1[i]);
}
for (month = 12; month > 0; month--) {
}
for (i = 0; i < 12; i++) {
month = month + 1;
printf_s("enter values for year 2 month %d", month);
scanf_s("%f", &array2[i]);
}
}
/*comapring 2 arrays and increasing count value if there are any value in array2
are greater than array1*/
int main() {
displayfunction();
int array1[12];
int array2[12];
}
你对变量作用域有根本性的误解
int main() {
displayfunction();
int array1[12];
int array2[12];
}
这些数组仅在 main 中可用。如果你想让其他函数对它们进行操作,你必须将它们作为参数传递给那些函数。另外,在您尝试调用 displayFunction
时它们不存在所以改变
void displayfunction(void)
至
void displayfunction(float array1[12], float array2[12])
然后在主要做
int main() {
int a1[12];
int a2[12];
displayfunction(a1, a2);
}
请注意,我在这里更改了名称只是为了强调名称相同这一事实并不重要。