一个C语言源程序调用另一个源程序中的全局变量时出现重复定义main函数问题

我知道,一个C源程序必须有且只有一个main函数。可是当我用源程序调用另一个源程序的全局变量时,又出现“重复定义main函数的问题”,源程序不写main函数编译还不通过,说“没有定义main函数”。这岂不是矛盾吗?到底源程序能不能调用另一个源程序的全局变量,问题见教材87页 书名 C语言程序设计教程 主编 杨路明 出版社 北京邮电大学出版社

你用的文件包含命令吧?单独调用源程序的时候必须写一个main()函数,如果你用了文件包含命令,调用另外一个main()函数那当然会出错,因为出现了2个main()函数,如下面就是错的
假如有2个C源程序c1.c和c2.c
c1.c中内容为
#include"c2.c"
main()
{
printf("this is c1.c");
}

c2.c中内容为
main()
{
printf("this is c2.c");
}

用c1.c调用c2.c后相当于c1中的内容变为
main()
{
printf("this is c2.c");
}
main()
{
printf("this is c1.c");
}
怎么不错呢?
你要想C1调用C2不会出错,只有将C1中的main()函数去除,用另外一个自定义函数名代替,比如yy(),然后在C2中加一条调用函数yy()的语句即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-31
一个工程文件只能有一个main函数,工程文件其中包含多个.c源文件及.h头文件。。

知道了吗?是你理解错了。。

如果是你那样,只要把其中的一个源文件中的main去掉就可以了。。。

还有其他一些需要注意的问题,等你遇到了再来提问。。本回答被网友采纳
相似回答
大家正在搜