鱼C论坛

 找回密码
 立即注册
查看: 1791|回复: 5

[已解决]关于条件判断的一点小问题

[复制链接]
发表于 2017-5-21 20:22:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
void print_data(const LINK_NODE* pLinkNode)  
{  
    LINK_NODE* pIndex = NULL;  
    if(NULL == pLinkNode)  
        return;  
  
    printf("%d\n", pLinkNode->data);  
    pIndex = pLinkNode->next;  
    while(pLinkNode != pIndex){  
        printf("%d\n", pIndex->data);  
        pIndex = pIndex ->next;  
    }  
}  

我想知道if后头的NULL==pLinkNode与pLinkNode==p这两者有什么差别
平时写这个不都是a==0啥的
最佳答案
2017-5-22 23:11:42
虽然楼主打错了但是我大概猜到了你想问什么。其实这是一个编程的小细节,这个if语句用来判断传入的是否是一个空指针,很多程序猿按照一般化的逻辑就这么写pLinkNode==NULL,但是万一少了个=,那就变成赋值了呵呵,但是倒过来写就没这个问题,NULL == pLinkNode少写一个=,编译器是会直接报错的,因为你不能给一个右值赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-21 21:11:12 | 显示全部楼层
不明白你想问什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 11:11:12 | 显示全部楼层
传入的应该是链表的指针,
if(NULL == pLinkNode)  如果传入的是空指针,就直接返回,
如果指针非空,就直接输出 值printf("%d\n", pLinkNode->data);   
pIndex = pLinkNode->next; 取链表的下一个,
  while(pLinkNode != pIndex){  判断 链表是否结束,
printf("%d\n", pIndex->data);  如果没有结束,输出数据,
pIndex = pIndex ->next;   取链表下一个


不是很清楚你想问什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-22 21:12:27 | 显示全部楼层
自己傻了打错了。。。丢人
if后面的条件判断NULL == pLinkNode为什么要这么写而不是pLinkNode==NULL
把NULL写前面有什么奥妙吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 23:11:42 | 显示全部楼层    本楼为最佳答案   
虽然楼主打错了但是我大概猜到了你想问什么。其实这是一个编程的小细节,这个if语句用来判断传入的是否是一个空指针,很多程序猿按照一般化的逻辑就这么写pLinkNode==NULL,但是万一少了个=,那就变成赋值了呵呵,但是倒过来写就没这个问题,NULL == pLinkNode少写一个=,编译器是会直接报错的,因为你不能给一个右值赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 12:07:24 | 显示全部楼层
Hacker_Jack 发表于 2017-5-22 23:11
虽然楼主打错了但是我大概猜到了你想问什么。其实这是一个编程的小细节,这个if语句用来判断传入的是否是一 ...

谢谢解答,我之前一直感到疑惑。
不过打错了真的很尴尬。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表