devC++编写俄罗斯方块打印问题

已经编写好了俄罗斯方块代码,在主机台式电脑上显示正常,但在笔记本上的显示却是这样,为什么呢?

img

img

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/1052469
  • 这篇博客你也可以参考下:关于DevC++如何调试的问题,还不会调试的同学看这里--->>>超级详细调试教程,手把手教你如何调试
  • 除此之外, 这篇博客: 关于DEVc++使用技巧和C语言中的一些疑问中的 二、C中的定义 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 问题一:typedef int SElemType; 为什么要这样定义?
      定义不同的数据类型名称是为了程序的可读性。一旦你需要将类型变换比如使用double型的,只要写:
      typedef double ElemType;如果没有定义的话就要一个个的把int改成double,这样操作起来会很麻烦。

    • 问题二:#define STACKINCREMENT 10什么意思?
      #define是C语言中的一个预处理指令,其中的“#”表示这是一条预处理命令·。表示定义一个常量 STACKINCREMENT,而且一定不要加 分号,要不然程序报错。其定义的一般形式为:

      #define 标识符 字符串
      
    • 问题三:typedef相关的是啥?

    typedef struct{		//栈结构类型定义(栈顶指针、栈低指针、栈大小)
    	SElemType *base;
    	SElemType *top;
    	int stacksize;
    }SqStack;
    

      typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于:

    若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n;

    若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;

    其实就相当于 NODE 是node 的别名。区别就在于使用时,是否可以省去struct这个关键字。

看看是不是显示器不同分辨率导致的错位,将笔记本的显示比率和分辨率修改和桌机一样看看

img

这里的比率设置