尝试将数组传递给c中的函数 我被要求在C++中写一个抽奖程序,不确定我是否正确使用函数,请帮助< /P> //function prototypes int myNumbers(); void displayNums(); #include <stdio.h> #define NUMS 6 #define WIN 7 // function myNumbers takes input from user int myNumbers(int numbers[]) //implememt function { int i; int numbers; int input[NUMS]; printf ("Please enter your lucky numbers\n"); for (i=0;i<NUMS;i++)//loop through array to take input { scanf("%d",&input[i]); }//end for loop return (numbers); }//end function myNumbers //函数原型 int myNumbers(); void displayNums(); #包括 #定义NUM 6 #定义Win7 //函数myNumbers接受用户的输入 int-myNumbers(int-numbers[])//implememt函数 { int i; 整数; 整数输入[NUMS]; printf(“请输入您的幸运数字\n”); 对于(i=0;i
,您的函数看起来是错误的:尝试将数组传递给c中的函数 我被要求在C++中写一个抽奖程序,不确定我是否正确使用函数,请帮助< /P> //function prototypes int myNumbers(); void displayNums(); #include <stdio.h> #define NUMS 6 #define WIN 7 // function myNumbers takes input from user int myNumbers(int numbers[]) //implememt function { int i; int numbers; int input[NUMS]; printf ("Please enter your lucky numbers\n"); for (i=0;i<NUMS;i++)//loop through array to take input { scanf("%d",&input[i]); }//end for loop return (numbers); }//end function myNumbers //函数原型 int myNumbers(); void displayNums(); #包括 #定义NUM 6 #定义Win7 //函数myNumbers接受用户的输入 int-myNumbers(int-numbers[])//implememt函数 { int i; 整数; 整数输入[NUMS]; printf(“请输入您的幸运数字\n”); 对于(i=0;i,c,C,,您的函数看起来是错误的: 您不使用打印,而是创建一个新数组数字您的每个函数都声明一个新数组,而不是使用传递给它的数组作为参数 void displayNums(int print[]) { int i; int output; int numbers[NUMS]; output = myNumbers(numbers); printf("Your numbers are %d \n", output); } 注意,没有使用打印< /COD>参数,而您
您不使用
打印
,而是创建一个新数组数字
您的每个函数都声明一个新数组,而不是使用传递给它的数组作为参数
void displayNums(int print[])
{
int i;
int output;
int numbers[NUMS];
output = myNumbers(numbers);
printf("Your numbers are %d \n", output);
}
注意,没有使用<代码>打印< /COD>参数,而您使用的是代码> int编号[NUS] 。删除该声明并使用<代码>打印< /代码>。(也请考虑将您的参数命名为除<代码>打印< /COD>以外的其他东西;这个名称是混淆的,并不能准确地描述变量存储的内容。)
您的大部分代码都是错误的。它无法编译。以下是一些示例代码。请使用它来实现其余部分#include <stdio.h>
#define NUMS 6
void displayNums(int nums[])
{
int i;
printf("Your numbers are:\n");
for(i = 0; i < NUMS; i++)
printf("%d ", nums[i]);
printf("\n");
}
void myNumbers(int nums[])
{
printf("Please Enter your lucky numbers\n");
int i;
for(i = 0; i < NUMS; i++)
scanf("%d", &nums[i]);
}
int main()
{
int numbers[6];
myNumbers(numbers);
displaynums(numbers);
//do the rest of the stuff here
return 0;
}
#包括
#定义NUM 6
void displayNums(int nums[])
{
int i;
printf(“您的号码是:\n”);
对于(i=0;i
阅读C教程可能会有所帮助?请查看该语言的详细介绍。如果没有正确使用数组来传递数字,请参阅函数
int myNumbers(int userPick[]) //implememt function
{
int i;
int numbers;
int input[NUMS];
printf ("Please enter your lucky numbers\n");
for (i=0;i<NUMS;i++)//loop through array to take input
{
scanf("%d",&input[i]);
}//end for loop
numbers = *(input+i);
return (numbers);
}//end function myNumbers
int-myNumbers(int-userPick[])//implememt函数
{
int i;
整数;
整数输入[NUMS];
printf(“请输入您的幸运数字\n”);
对于(i=0;iyou只从myNumber返回一个int,而不使用传递的userPick[]。为什么?您在这里试图实现什么:numbers=*(input+i);
?…而这个int
甚至超出了数组的范围。@zoska
#include <stdio.h>
#define NUMS 6
void displayNums(int nums[])
{
int i;
printf("Your numbers are:\n");
for(i = 0; i < NUMS; i++)
printf("%d ", nums[i]);
printf("\n");
}
void myNumbers(int nums[])
{
printf("Please Enter your lucky numbers\n");
int i;
for(i = 0; i < NUMS; i++)
scanf("%d", &nums[i]);
}
int main()
{
int numbers[6];
myNumbers(numbers);
displaynums(numbers);
//do the rest of the stuff here
return 0;
}
int myNumbers(int userPick[]) //implememt function
{
int i;
int numbers;
int input[NUMS];
printf ("Please enter your lucky numbers\n");
for (i=0;i<NUMS;i++)//loop through array to take input
{
scanf("%d",&input[i]);
}//end for loop
numbers = *(input+i);
return (numbers);
}//end function myNumbers