这段代码在不同的编译器编译结果不同?

来源:百度知道 编辑:UC知道 时间:2024/05/14 07:45:32
#include "stdio.h"
main()
{
int a, d;
srand(time());
d=rand()%100;
scanf("%d", &a);
if(a==d){printf("^_^");}
else
{
do
{
printf("*_*");
scanf("%d", &a);
if(a==d){printf("^_^");}
else{
if(a<d) {printf("%d<x", a);}
else{printf("x<%d", a);}}
}
while(a!=d);
}
getch();
}

这段代码用颖思(www.winyes.com的TC编译器汉化版)的TC编译器汉化版成功编译,可是用winTC编译却提示未定义字符?

不同的编译器它默认定义的头文件不一样哦,TC里面可能在头文件库里面设置过了#include <stdlib.h>
#include <time.h>
所以编译不出错,而WinTC中要自己在程序之前加上头文件#include <stdlib.h>
#include <time.h>才不会出错的。

没有包含必要的头文件(stdlib.h和time.h),能成功编译?这种编译器不应该再继续使用!