zoukankan      html  css  js  c++  java
  • 今天发现一个bug,不知道是什么问题,printf的问题吗,还是什么。先记下!

    1 /* Note:Your choice is C IDE */
    2 #include <stdio.h>
    3 #include <string.h>
    4 #include <stdlib.h>
    5 #include <dos.h>
    6
    7  //typedef unsigned int U32;
    8  typedef unsigned long U32;
    9 typedef unsigned short U16;
    10 typedef unsigned char U8;
    11
    12 typedef struct can_cinit{
    13 //add by cx
    14   enum IRQV IRQ_num;
    15 U8 channel;
    16 U32 chip_add;
    17 }CAN_INIT;
    18
    19 CAN_INIT * Init_add (U32 base_addr)
    20 {
    21 CAN_INIT *p_CanDev;
    22 p_CanDev = (CAN_INIT *)malloc(sizeof(CAN_INIT));
    23 memset(p_CanDev,0,sizeof(CAN_INIT));
    24 p_CanDev->chip_add = base_addr;
    25 printf("@ p_CanDev=%lx\n",p_CanDev);
    26 return p_CanDev;
    27 }
    1 void main(void)
    2 {
    3 CAN_INIT *pCan1Dev;
    4 CAN_INIT *p_CanDev;
    5
    6 pCan1Dev=Init_add(0x1000);
    7 printf("chip:%lx\n",pCan1Dev);
    8 printf("chip add:%lx\n",pCan1Dev->chip_add);
    9 printf("chip:%lx--chip add:%lx\n",pCan1Dev,pCan1Dev->chip_add);
    10
    11 getchar();
    12
    13 }

    在win32控制台下运行

    是在搞不懂啊,为啥分开打印就OK,但是第三个printf就不行啊!,(注意是在DOS下运行,在win32控制台运行时没问题的,只要包含dos.h在用c/c++程序设计学习实验系统)编译后就自动跑到dos下去执行了,编译也是采用TC来编译的,我怀疑还是与编译器有关系,但是TC2.0,TC3.0和BC31都不行,运行结果如下

  • 相关阅读:
    怎么能忘了N皇后(N Queens)?
    中序线索二叉树及相关算法概述(java实现)
    树遍历算法概述
    广义表与字符串
    KMP算法简述
    Linux常用系统符号总结
    linux 父、子shell变量传递问题
    数据结构总结之一栈与队列
    n!素因子p的幂 swjtuOJ 2090【数论】
    N!分解素因子及若干问题【转载】
  • 原文地址:https://www.cnblogs.com/Dreamxi/p/2095253.html
Copyright © 2011-2022 走看看