main可不可以作为用户标识符

如题所述

第1个回答  2010-09-20
不一定。C/C++main不是关键字。在全局作用域中,main是标准的形式入口函数的名称。在完整的程序的全局作用域中定义入口函数main以外的main函数,如果和在前者在同一翻译单元(经过预处理、包含了头文件的源文件)中,会产生重定义的编译错误;即使编译能通过(在不同源文件中定义main函数,没有编译错误),最终链接器也会产生找到重复符号的错误,无法生成最终目标程序(没有要求main入口函数的非标准实现如Windows DLL工程之类除外)。但在函数声明作用域、函数作用域、语句块作用域、类作用域、命名空间作用域中,主函数main可以被自定义名称main隐藏,两个main指称不同的实体,不产生编译错误。例如:
#include <stdio.h>

int main(int a, char* b[])
{
int main;
scanf("%d", &main);
printf("%d\n", main);
getchar();
return 0;
}
====
[原创回答团]

参考资料:原创 + Dev-C++确认

本回答被网友采纳
第2个回答  2010-09-20
编程试一下不就知道了嘛