如何判断编译器所编译的文件是C方式还是C++的方式编译的

如果是靠文件后缀区分的就不要说了~

没有办法区分。C++是兼容C的,所以在C++代码中出现一两句C的语句也很正常,比如printf之类。(有时候printf确实比cout好用,但是scanf不如cin是一定的)所以只能根据后缀区分吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-16
00如果使用C++编译的,那么编译器会隐式定义一个符号__cplusplus。
00下面这个程序可以判断:
00#include <stdio.h> //Both C & C++
00int main()//Or int main(void)
00{
00#ifdef __cplusplus
00printf("%s","C++\n");

00#else
00printf("C\n");

00#endif
00getchar();
00}
第2个回答  2010-10-21
在这里我不能完全回答,只能回答一部风吧,希望有帮助呵呵
:看关键词吧,C#虽然完全包含c、,但c却不能包含c#,所以若看到c#的关键词,就能确定是c#了
第3个回答  2010-10-21
那我只好什么都不说了
第4个回答  2010-10-25
如果有用到cout的话,而且在main之前有用using namespce std;就是C++了!
相似回答