C 通过前向声明而不使用头链接源文件
目标是编写一个由两个源文件组成的程序。第一个(Main.c)包含Main()函数,并给变量i一个值。第二个源文件(Print.c)将i乘以2并打印它。c包含函数Print(),可以从main()调用该函数。输出打印一个巨大的数字,甚至不能被指定的整数整除。我该如何解决这个问题 我的主要工作C 通过前向声明而不使用头链接源文件,c,C,目标是编写一个由两个源文件组成的程序。第一个(Main.c)包含Main()函数,并给变量i一个值。第二个源文件(Print.c)将i乘以2并打印它。c包含函数Print(),可以从main()调用该函数。输出打印一个巨大的数字,甚至不能被指定的整数整除。我该如何解决这个问题 我的主要工作 #include <stdio.h> int i; void print(); int main() { int i = 10; print(); return 0;
#include <stdio.h>
int i;
void print();
int main()
{
int i = 10;
print();
return 0;
}
#包括
int i;
作废打印();
int main()
{
int i=10;
打印();
返回0;
}
我的印刷品c:
#include <stdio.h>
void print(int i)
{
printf("%d", 2 * i);
}
#包括
作废打印(int i)
{
printf(“%d”,2*i);
}
尝试将i
从main
传递到print
功能print(i)
还将print函数的原型更改为void print(int i)
void print(int i)
声明一个名为print
的函数,该函数使用一个int
参数void print()
声明一个名为print
的函数,该函数接受数量不确定的参数。标题似乎完全无关。函数声明与定义不匹配。调用无效,因为它没有传递预期的参数。谢谢,删除转发声明并将i添加到调用中修复了它。我是C语言的新手,仍然在掌握基本知识。哦,好的,完全解决了,谢谢。我认为它是有效的,因为VS认为它是外部的,并且被推了过去。