我正在上课做一些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的数组,但每次我尝试在数组中调用单个值时,它都不想工作。我试过搜索它,但没有一个解决方案似乎真的有效。
答案 0 :(得分:1)
您应该将功能更改为:
void multiply(int * a, int size)
答案 1 :(得分:1)
将您的功能标题更改为:
void multiply(int* a, int size)
其他函数认为a
是一个int而不是一个int数组