尝试将数组传递给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