非常感谢,在你的帮助下,我理解了所有的错误(:
这是我第一次使用这个网站,所以我不确定它是否是正确的格式.基本上我必须创建一个填充向量的函数,但它根本不起作用.英语不是我的第一语言,所以这可能真的令人困惑,但如果有人帮助我,我会很感激.非常感谢.
#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;
}
Run Code Online (Sandbox Code Playgroud)
你是不是叫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]);
}
}
Run Code Online (Sandbox Code Playgroud)
对此:
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]);
}
}
Run Code Online (Sandbox Code Playgroud)
由于您不需要i
从函数外部传入,因此无需将其包含在函数的参数中.for
循环中的第一个元素在输入循环时执行一次,因此它通常用于声明循环的迭代变量,就像我在这里所做的那样.
编辑:哎呀.不能在C中做到这一点.我已经习惯了C++,我在这里做了个傻瓜.i
正如@Over Flowz建议的那样,在循环上方声明.更新我的修改后的代码,但留下这条记录作为是时候停止工作并去吃晚餐的证据:)
归档时间: |
|
查看次数: |
104 次 |
最近记录: |