该程序使用函数将数组的每个值乘以 10。我收到很多错误。 我可以在 for 循环中获取大小吗?
#include<stdio.h>
mult(int arr[])
{
int i;
for(i=0;i<size;i++)
{
arr*=10;
}
return arr;
}
int main()
{
int j[];
printf("enter the all ten values to multiply by 10");
for(j=0;j<size;j++)
scanf("%d");
j[] = mult(j);
printf("%d",&j);
return 0;
}
最佳答案
int j[];
您错误地创建了一个数组(在这种情况下)。您必须指定其大小。例如:int j[256];
for(j=0;j<size;j++) scanf("%d");
什么是 size
?你如何增加一个数组?您正在使用scanf
错。你应该这样做for(int s=0;s<size;s++) scanf("%d",&j[s]);
。
j[] = mult(j);
又错了。您应该创建另一个数组并在那里复制值。
printf("%d",&j);
你不需要&
在这里,将其删除。您最好使用"%d\n"
将每个数字打印在自己的行上。
mult(int arr[])
函数声明错误。您必须指定函数返回的类型。您可能需要使用int *mult(...)
相反,return &arr[0];
arr*=10;
你想用这个实现什么目的?完全错误,你在这里乘以地址。
请阅读文档!您的代码没有任何意义,请先学习 C,然后尝试编码。
此外,您还需要这里的指针,请注意它们。我建议您首先编写 Hello World 程序来了解基础知识。 Kernighan 先生和 Ritchie 先生也会帮助您。
<小时/>注意:我可能漏掉了一些错误,因为错误太多了。如果是这样,请纠正我。
关于c - 将数组传递给函数,将数组的每个值乘以 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29080976/