大家来看看,奇怪的问题!
VC中的C++工程,共包含3个文件:TestVar.c/func.c/func.h,内容如下:
TestVar.c
//////////////////////////////////
int main(int argc, char* argv[])
{
char value = 0;
if (funcTest())
{
return 1;
}
else
{
return 0;
}
}
func.c
////////////////////////////////
#include "func.h"
char funcTest()
{
char var = 0;
return var;
}
func.h
/////////////////////
extern char funcTest();
问题:这个时候main函数执行的应该是return 0;但大家调试看看,执行的却是return 1;为什么呢?谁能告诉我,谢谢!
NOTE:
1.TestVar.c中没有include "func.h",如果include了,则main执行的是return 0; 如果没有include,则入问题所示;
2.函数返回的是char类型,如果程序中所有char都换成int,则main执行的也是return 0;与是否include "func.h"没有关系;