KEIL C51 库函数 疑问

2020-01-23 14:49发布

在此发出疑问,有两个作用:
1、帮助本人解答问题。
2、也给菜鸟们提个醒,别走弯路。
问题是:
        错误代码如下:

        char *head, *tail;
       
        head = strstr(dat_ptr, "{TER,G1,");
        if(head == 0) return FALSE;              //这里总是返回 实际dat_ptr中数据是有涵盖“{TER,G1,”的

        正确代码如下:

        char *head, *tail;
       
        head = strstr(dat_ptr, "{TER,G1,");
        if(head == NULL) return FALSE;        //库函数中定义 #define NULL ((void *) 0L)

请各位老师帮助解答 上两则代码中注释的两栏有什么区别?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
csmjmcc
2020-01-24 05:08
本帖最后由 csmjmcc 于 2014-4-24 10:03 编辑
csmjmcc 发表于 2014-4-23 15:09
谢谢回复!
1、先前,在ARMCC  及GCC 同是如此:if(head == 0) return FALSE; 没啥问题。 于是乎,直接搬移 ...


这里补充:
          打印用 printf("HEAD: %p", head); 语句
         现在明白打印的结果:X:0000 -----指的是 在XDATA区 指针值为 0000.  i:0000 ------指的是 在 DATA/IDATA区 指针值为 0000.

一周热门 更多>