【发布时间】:2020-05-08 01:56:26
【问题描述】:
在下面的代码中,我保存并打印了两个向量。这意味着我已经创建了每个函数——scanf() 和printf()——两次,尽管它们除了它们操作的向量名称之外是相同的。我怎么可能只有一个 scanf() 和 printf() 函数,并且仍然可以保存和打印任意数量的向量? 注意在这种情况下,我只使用静态向量。
#include <stdio.h>
int scanning_first_vector(int *vector1);
int printing_first_vector(int *vector1);
int scanning_first_vector(int *vector2);
int printing_first_vector(int *vector2);
int main()
{
int vector1[5], vector2[5];
printf("Please enter the first vector.\n");
scanning_first_vector(vector1);
printing_first_vector(vector1);
printf("\nPlease enter the second vector.\n");
scanning_first_vector(vector2);
printing_first_vector(vector2);
return 0;
}
int scanning_first_vector(int *vector1)
{
int i;
for (i = 0; i < 5; ++i)
{
scanf("%d", &vector1[i]);
}
return 0;
}
int printing_first_vector(int *vector1)
{
int i;
for (i = 0; i < 5; ++i)
{
printf(" %d ", vector1[i]);
}
return 0;
}
int scanning_second_vector(int *vector2)
{
int i;
for (i = 0; i < 5; ++i)
{
scanf("%d", &vector2[i]);
}
return 0;
}
int printing_second_vector(int *vector2)
{
int i;
for (i = 0; i < 5; ++i)
{
printf(" %d \n", vector2[i]);
}
return 0;
}
【问题讨论】:
-
提示:您已经成功地为两者使用了一个功能。
-
你从不打电话给
XXX_second_vector(),也不需要他们。 -
只需将
XXX_first_vector()重命名为XXX_vector(),因为它适用于任何向量。