return(a || b)实用程序?

时间:2016-07-16 20:25:33

标签: c return

if (!*s1 && !*s2)
    return (1);
else if (*s1 == *s2 && *s1 != '*')
    return (match(s1 + 1, s2 + 1));
else if (*s1 == '*' && *s2 == '*')
    return (match(s1 + 1, s2));
else if (*s2 == '*' && !*s1)
    return (match(s1, s2 + 1));
else if (*s2 == '*' && *s2 && *s1)
    return (match(s1, s2 + 1) || match(s1 + 1, s2));
else
    return (0);
你好!我来到这里是因为我明天有一些工作可以为一些学校做点什么,而且我真的很想找到一个方法来详细说明我的程序,我最终在互联网上搜索了一些答案,这使我把这个功能放在了最前面。问题是,我不理解" ||"在第10行...为什么这里? (我可能只是google它,但问题是我根本不知道谷歌会得到什么答案)

2 个答案:

答案 0 :(得分:0)

如果匹配的一个调用返回1,它实际上返回1.

用s1,s2 + 1调用匹配两次,用s1 + 1,s2调用其他。如果其中一个调用返回true,则该函数也返回true。

答案 1 :(得分:0)

不知道代码的作用:语句将评估第一部分(match(s1, s2 + 1))和当且仅当为零时,评估第二部分({{1} })。如果第一部分为零,则返回match(s1 + 1, s2)(或1)