gpt4 book ai didi

c - 关于 vector 和函数的练习

转载 作者:太空狗 更新时间:2023-10-29 15:14:07 24 4
gpt4 key购买 nike

非常感谢,在你的帮助下我明白了我所有的错误(:

这是我第一次使用这个网站,所以我不确定它的格式是否正确。基本上我必须制作一个填充 vector 的函数,但它根本不起作用。英语不是我的第一语言,所以这可能真的很令人困惑,但如果有人帮助了我。非常感谢。

#include <stdio.h>
#include <stdlib.h>

void le_vet(int v[1000], int n, int i)
{
for (i = 0; i < n; i++) {
printf("Type the number %d: ", i+1);
scanf("%d", &v[i]);
}
}

int main()
{
int v[1000], n;
printf("Type the syze of the vector: ");
scanf("%d", &n);
void le_vet(n);
system ("pause");
return 0;
}

最佳答案

您没有在 main 函数中调用 le_vet,而是在创建一个名为“le_vet”的函数指针,它接受一个 int(默认情况下,因为没有类型是指定)并返回一个空值。我很确定这不是我们想要的。

相反,将 void le_vet(n) 更改为 le_vet(v, n) 并更改为:

void le_vet(int v[1000], int n, int i)
{
for (i = 0; i < n; i++) {
printf("Type the number %d: ", i+1);
scanf("%d", &v[i]);
}
}

为此:

void le_vet(int v[], int n)
{
int i;
for (i = 0; i < n; i++) {
printf("Type the number %d: ", i+1);
scanf("%d", &v[i]);
}
}

因为您不需要从函数外部传递 i ,所以不需要将它包含在函数的参数中。 for 循环中的第一个元素在进入循环时执行一次,因此它通常用于声明循环的迭代变量,就像我在这里所做的那样。

编辑:糟糕。不能在 C 中这样做。我习惯于 C++,我在这里犯了一个错误。正如@Over Flowz 建议的那样,在循环上方声明 i。更新我修改后的代码,但留下这个记录作为该停止工作去吃晚饭的证据:)

关于c - 关于 vector 和函数的练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14189010/

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