gpt4 book ai didi

C程序,使用函数读取用户输入的数组元素,然后交换它们

转载 作者:行者123 更新时间:2023-11-30 18:11:03 25 4
gpt4 key购买 nike

我目前正在学习加速 C 入门类(class),因此我的大部分学习都来自留言板和在线资源。我在输出代码时遇到问题,我认为问题出在我的 swap_array 上。

大家好,我已经删除了原来的代码(不知道是否鼓励这样做,只是为了清楚起见)。感谢您的评论。这是一团糟,所以我想编辑并发布我更新的代码,但我不确定如何格式化 main 下方的 swaparray 函数。基本上,我希望该函数在主函数中调用时能够交换列表 1 和 2 中的值。

#include<stdio.h>
void fillarray(int list[], int size);
void printarray(int list1[], int list2[]);
void swaparray(int list1[], int list2[], int size);

int main()
{
int a[5], b[5];
int size = 5;

fillarray(a, size);
fillarray(b, size);

printf("List1 and List2 before the swap\n");
printf("List1\t\t\t\List2\n");

printarray(a, b);
swaparray(a, b, size);

printf("List1 and List2 before the swap\n");
printf("List1\t\t\t\List2\n");

printarray(a, b, size);

return 0;
}
//////FUNCTIONS////////

void fillarray(int list[], int size)
{
printf("Please enter 5 values for the array\n");

for (int i = 0; i < 5; i++)
{
scanf_s("%d", &list[i]);
}
}

void printarray(int list1[], int list2[])
{
for (int i = 0; i < 5; i++)
{
printf("%d\t\t\t %d", list1[i], list2[i]);

}
}

void swaparray(int list1[], int list2[], int size)
{
for (int i = 0; i < 5; i++)
{

}
}

最佳答案

我将尝试逐步帮助您解释如何编译和运行它,并尝试帮助您了解发生了什么。

在第 4 行,您声明了 swap_array 函数,该函数当前采用 3 个 int 变量作为输入。但是,您希望使用 [] 表示法(例如 int array1[])为前两个参数传递数组(这样您就可以交换它们)。下面的 print_array 函数也是如此。您还需要在这些函数的定义中执行此操作(第 21 行和第 34 行)。

现在让我们看看主要函数。您当前正在主函数中创建数组。伟大的。没关系。但是,紧接着,您将使用参数 array1array2 调用 swap_array。您尚未在主函数中声明并初始化这两个变量,因此您的程序不知道该怎么做。

因此,您需要在 main 中创建两个数组,array1array2(与数组的操作方式类似),然后将它们输入到 swap_array 中功能。

最后,您将使用参数 print1print2 调用 print_array。同样,这些变量在你的 main.c 文件中是看不到的。您到底想打印什么?您想要打印刚刚交换的两个数组:array1array2。因此,这些需要是您输入打印函数的参数,而不是 print1print2

我认为您对参数和参数之间的区别感到困惑。在第 3、4、5、21、34 和 47 行,您声明/定义了函数。这些函数中有参数。这些参数直接在函数内用作计算的一部分。将它们视为真实值的“占位符”。当您调用函数时(例如在 main 中),您可以将这些参数值设置为您想要的任何值(例如值或变量的值),这些参数称为参数(如第 15、16 和 17 行中所做的那样)。

我希望这有帮助。您应该能够通过这些更改进行编译和运行。

关于C程序,使用函数读取用户输入的数组元素,然后交换它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52653354/

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