C语言运行结果蓝屏,为什么用c语言画图总蓝屏?

2011-07-23 回答

你用tc画图,估计用的不是标准库函数吧

========================================

我用的就是grahpics.h,wintc 就是trubo的内核

--------------------------------------------------------

我用的是win-tc和turbo c,用标准c函数画图

我用的就是grahpics.h,wintc 就是trubo的内核

---------

你画图不是用的标准c,其他的编译器估计没办法

检查一下程序吧还是,:)

--------------------------------------------------------

程序是没问题的 运行源代码也会蓝屏

--------------------------------------------------------

是否是 文本模式 和 图形模式 频繁切换造成的?

可以的话,

建议楼主单步运行程序,

直到找到错误的发生语句,

然后查找所有之前的和这个错误语句相关的语句(比如操作相同变量的语句)。

--------------------------------------------------------

或者楼主试试更换图形驱动试试,

就是 环境目录下的那个 BGI 文件。

--------------------------------------------------------

一般情况下,

认为是你的代码有问题。

因为在简单绘图情况下,

(比如只是启动图形模式,绘制一条直线)

这样的程序,

楼主试试运行多次会不会蓝屏,

如果会,检查你的环境、图形驱动......

--------------------------------------------------------

运行简单的图形也会蓝屏,因为我画的就是一个正方形

我认为是切换全屏以后,驱动造成的问题!

所以怎么检查图形驱动?

--------------------------------------------------------

建议楼主单步运行程序

===================

每一次都是运行5,6次以后就蓝屏,也就是前4次都是输出正确的图形,所以程序肯定是正确的

--------------------------------------------------------

代码帖出来大家看看,我不相信程序没问题,呵呵

--------------------------------------------------------

每一次都是运行5,6次以后就蓝屏,也就是前4次都是输出正确的图形,所以程序肯定是正确的

-----------

前几次正确就说明代码没问题了?

你这样的结果八成是代码问题,你所说的输出正确图形只不过是表面现象而已

--------------------------------------------------------

代码如下:

#include

#include

#include

#include

int main(void)

{

int gdriver = DETECT, gmode;

void *ball;

int x, y,maxx;

unsigned int size;

initgraph(&gdriver, &gmode, "");

maxx = getmaxx();

x = 0;

y = 200;

rectangle(x,y+11,x+20,y+31);

circle(x+10,y,10);

size = imagesize(x, y-10, x+20, y+10);

ball = malloc(size);

getimage(x, y-10, x+20, y+10, ball);

while (!kbhit())

{

putimage(x, y-10, ball, XOR_PUT);

x += 10;

if (x >= maxx)

x = 0;

putimage(x, y-10, ball, XOR_PUT);

delay(100);

}

free(ball);

closegraph();

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值