值不是数组,也不是指针和向量

时间:2014-10-02 21:48:49

标签: c arrays function

我正在上课做一些C作业,而且我一直在使用数组遇到问题。以下是我的一个错误函数示例。

void multiply(int a, int size)
{
    int i;
    for(i = 0; i < size; i++){
        a[i] = a[i] * 5;
        printf("%d, ", a[i]);
        }
    printf("\n");
}

它返回第5行和第5行的error: subscripted value is neither array nor pointer nor vector 6当我打电话给a[i]时。我将a作为一个大小为10的数组,但每次我尝试在数组中调用单个值时,它都不想工作。我试过搜索它,但没有一个解决方案似乎真的有效。

2 个答案:

答案 0 :(得分:1)

您应该将功能更改为:

void multiply(int * a, int size)

答案 1 :(得分:1)

将您的功能标题更改为:

void multiply(int* a, int size)

其他函数认为a是一个int而不是一个int数组