C-将数组传递给方法

leojg

将数组传递给函数时出现问题

由于某种原因,它似乎有一半的元素丢失了,并被其他一些东西所替代。

当我在调用方法之前迭代数组时,得到以下输出:

    Votes: 2387
    Votes: 2105
    Votes: 1230
    Votes: 1132
    Votes: 2587
    Votes: 559

在方法内部,我得到以下信息:

    Votes: 2387
    Votes: 1230
    Votes: 2587
    Votes: 1
    Votes: 6689632
    Votes: 4199349

看来它乘以2乘2而不是将1加到迭代器上,也许我没有以正确的方式使用指针。

这是代码,也许您可​​以看到问题所在:

    #include<stdio.h>
    #include<stdlib.h>

    void method(int *options[], int *numberOfOptions);

    main() {

        int options[6] = {2387,2105,1230,1132,2587,559};

        int size = 6;

        int i = 0;

        while (i < size) {


            printf("Votes: %d \n",options[i]);

            i++;        

        }

        method (&options,&size);

    }

    void method(int *options[], int *numberOfOptions) {

        int i = 0;

        while (i < *numberOfOptions) {

            int optionVotes = options[i];

            printf("Votes: %d \n",optionVotes);     


            i++;        
        }


    }
风向标

编译器会发出有关数组指针传递的警告。您也不必要将数组大小作为指针传递。

#include<stdio.h>
#include<stdlib.h>

void method(int *options, int numberOfOptions);

main() {
    int options[6] = {2387,2105,1230,1132,2587,559};
    int size = 6;
    int i = 0;
    while (i < size) {
        printf("Votes: %d \n",options[i]);
        i++;        
    }
    method (options,size);
}

void method(int *options, int numberOfOptions) {
    int i = 0;
    while (i < numberOfOptions) {
        int optionVotes = options[i];
        printf("Votes: %d \n",optionVotes);     
        i++;        
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++将方法的指针数组作为参数传递给方法

来自分类Dev

将ac#数组传递给C ++方法

来自分类Dev

C ++直接将数组传递给函数

来自分类Dev

将数组传递给C中的函数

来自分类Dev

将C数组传递给Rust函数

来自分类Dev

将numpy数组从Python传递给C

来自分类Dev

将char数组传递给函数C ++

来自分类Dev

C ++将指针数组传递给函数

来自分类Dev

将数组传递给类函数C ++

来自分类Dev

将方法传递给C ++中的方法

来自分类Dev

如何将char数组作为字节从C JNI函数传递给Java方法[]

来自分类Dev

将锯齿状数组传递给C#中的方法

来自分类Dev

如何将常量数组作为参数传递给C ++函数/方法

来自分类Dev

如何将char数组从C JNI函数作为字节传递给Java方法[]

来自分类Dev

将数组传递给Javascript数组C#ASP.NET

来自分类Dev

C#:将int数组传递给C ++ dll

来自分类Dev

C ++ dll将数组传递给C#

来自分类Dev

将数组传递给函数-指针与引用(C ++与C)

来自分类Dev

将C#字符串数组传递给C ++

来自分类Dev

C#将引用类型对象的数组传递给C ++

来自分类Dev

将分配的C_PTR传递给Fortran数组传递给C

来自分类Dev

将2d数组传递给C ++中的函数

来自分类Dev

将2D数组传递给c中的函数

来自分类Dev

从Go将结构和结构数组传递给C函数

来自分类Dev

C编程,将char数组传递给函数

来自分类Dev

QML-将Javascript关联数组传递给C ++

来自分类Dev

从C#集合将GUID数组传递给存储过程

来自分类Dev

将Javascript对象数组传递给C#代码隐藏

来自分类Dev

将2D数组传递给C函数