c - 将数组传递给函数,将数组的每个值乘以 10

标签 c

该程序使用函数将数组的每个值乘以 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/

相关文章:

c,带有 2 个参数的宏问题

c - kmalloc 分配实际上不是连续的吗?

c++ - 在 C/C++ 上,基本上什么东西是依赖于编译器的?

c - execve 在 linux 上,从参数执行

c - fork 调用子进程和父进程后,值会有什么不同?

c - 在 C 中搜索 .txt 文件中的字符串?

c - 将指针从指针数组复制到另一个变量的直接赋值是否有效?

c - 了解低级文件例程

c - Sscanf 带有数据的字符串

c - 缓冲区溢出和返回 libc 攻击之间的区别