gpt4 book ai didi

c - 将数组传递给 void 函数

转载 作者:行者123 更新时间:2023-11-30 17:36:01 26 4
gpt4 key购买 nike

如果里面的整数是正数,我试图打印出 array1 乘以 10 的内容,如果它是负数,则该数字应该保留在另一个数组中。我的代码没有给我任何结果,我不太擅长编程,所以我很确定我犯了一个愚蠢的错误,但我不知道它是什么,有人可以指出问题

void
tenfold (int array2[], int size )
{
int i, array1[size];
for (i=0;i<size;i++)
{

if (array1[i]>0)
array2[i]= 10 * array1[i];


else
array2[i]= array1[i];
}
}

int main()
{
int i,array1[9]= {3, 4, 5, 6, 7, -8, -9, 1, 2};
int size = 9;
tenfold(array1, size);

return 0;
}

最佳答案

tenfold 应该将 array1 作为输入,将 array2 作为本地,否则你是正确的,添加了十倍的 printf 以查看输出。

#include<stdio.h>
void tenfold (int array1[], int size )
{
int i, array2[size];
for (i=0;i<size;i++)
{
if (array1[i]>0)
array2[i]= 10 * array1[i];
else
array2[i]= array1[i];
}
for(i=0;i<size;i++)
printf("(orignal) array1[%d]=%d, (new) array2[%d]=%d\n", i, array1[i], i, array2[i]);
}

int main()
{
int i,array1[9]= {3, 4, 5, 6, 7, -8, -9, 1, 2};
int size = 9;
tenfold(array1, size);

return 0;
}

输出:

(orignal) array1[0]=3, (new) array2[0]=30
(orignal) array1[1]=4, (new) array2[1]=40
(orignal) array1[2]=5, (new) array2[2]=50
(orignal) array1[3]=6, (new) array2[3]=60
(orignal) array1[4]=7, (new) array2[4]=70
(orignal) array1[5]=-8, (new) array2[5]=-8
(orignal) array1[6]=-9, (new) array2[6]=-9
(orignal) array1[7]=1, (new) array2[7]=10
(orignal) array1[8]=2, (new) array2[8]=20

关于c - 将数组传递给 void 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22827533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com