2012-05-22 25 views
0

我想在我的Windows 7 64位中使用Turbo C与DosBox(DosBox 0.74)。在Turbo C中使用Windows7中的DosBox重复运行相同的程序时出错64bit

该程序的第一次运行完全正常。它编译成功,没有错误,也执行完美无瑕。

当我尝试重复运行相同的程序时,prorgams似乎会产生奇怪的输出。因此,现在完美工作的同一个程序现在会创建错误输出,尽管它仍能成功编译。

以下是根据顶点数量在空间放置多边形顶点的程序。在第一次运行时,它会产生完美的预期输出,但是当我重复它时,它会产生完全错误的输出。顶点放置在完全随机的位置。

我怀疑它是否与内存有关。当我尝试使用不同的模拟器也重复类似的错误!

更新1: 我刚刚尝试使用Mac OSX,并重复相同的错误。

#include<stdio.h> 
#include<conio.h> 
#include<graphics.h> 
#include<math.h> 

int main() 
{ 
    int gd=DETECT,gm,count,i,x[100],y[100],r=100; 
    initgraph(&gd,&gm,"c:\\tc\\"); 
    printf("Enter the number of cordinates:"); 
    scanf("%d",&count); 
    printf("Entered count :%d",count); 
    for(i=0;i<count;i++) 
    { 
     x[i]=r*cos(2*3.14*(i+1)/count)+200; 
     y[i]=r*sin(2*3.14*(i+1)/count)+200; 
     circle(x[i],y[i],5); 
    } 
    getch(); 
    return 0; 
} 
+0

Turbo C的怪异行为是“正常的”。使用更好的编译器。 –

+0

我认为变量包含一些垃圾值。你应该适当地提供内存并初始化它。 – vikky

+0

@KingsIndian不幸的是我必须坚持使用Turbo C! – qwerty123

回答

0

改变一个在文件DOSBox中,0.74.conf

从 核心配置=自动

到 核心=正常

重新打开DOSBox中和测试程序,它可以准确运行!完成!