永发信息网

这两个句子如何做运算的 if(s==NULL){return p;p=p->next;} else if(s==NULL){return p,p=p->next;}

答案:3  悬赏:40  手机版
解决时间 2021-02-02 14:56
  • 提问者网友:斑駁影
  • 2021-02-02 11:31
这两个句子如何做运算的 if(s==NULL){return p;p=p->next;} else if(s==NULL){return p,p=p->next;}
最佳答案
  • 五星知识达人网友:鱼忧
  • 2021-02-02 11:56
1,如果s=null,则进第一个if(s==null)
2,如果s!=null,则两个都不会进
总结,第二个else if(s==null)是永远不会被执行的,程序执行的顺序是从上到下,从左到右(大部分编译器)
全部回答
  • 1楼网友:掌灯师
  • 2021-02-02 14:05
if (s == NULL) //如果s为空指针 {return p; //返回指针p p = p->next; //把p的值修改为p的下一个结点,但你这里的这句根本不会被执行,因为前面的return就退出函数了,所以这里的写法有错误,应该把这句提取到return语句之前 } else if... //下面的这部分和上面的相同,根本不应该这样写,这代码是有错误的。
  • 2楼网友:枭雄戏美人
  • 2021-02-02 13:13
你好! 应该把这句提取到return语句之前 } else if.; /返回指针p p = p->next,但你这里的这句根本不会被执行,因为前面的return就退出函数了,所以这里的写法有错误;/把p的值修改为p的下一个结点;下面的这部分和上面的相同,根本不应该这样写if (s == NULL) //如果s为空指针 {return p; //.. // 打字不易,采纳哦!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯