jianglei748
2015-03-04 01:07
采纳率: 0%
浏览 2.4k

昨天做了套C++笔试题,面试官说从代码看出编程缺经验

图片说明

忽略字母大小写,下面是我当时写的代码,求各位大婶指教怎么改进不会让人觉得缺经验,或者贴下你的代码,感谢

{
if((s1==null)||(s2==null))
exit(1);

int c='a'-'A',i=0;
char *temps1=s1,*temps2=s2;

while(*temps1!='\0')
{
int i1=0;
while((*temps1==*temps2)||({*temps1+c)==*temps2)||(*temps1==(*temps2+c)))
{

temps1++;
temps2++;

if('\0'==*temps2)
return (s1+i-i1);
i++;
i1++;
}
temps2=s2;
temps1++;
i++;
}
return null;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • KrisKing 2015-03-04 03:29

    贴题目出来啊,要不怎么能看出要考什么

    点赞 打赏 评论
  • 微wx笑 2015-03-04 04:24

    为什么是两个While循环,一个就搞定了。

    点赞 打赏 评论
  • 秋天那只鸟 2015-03-16 03:48

    **{
    if(s1&&s2)
    return 0;
    int i=0;
    char *temps1=s1,*temps2=s2;
    while(*temps2!='\0'&&*temps1!='\0')
    {
    if(*temps1==*temps2||(*temps1-*temps2)=='(a'-'A')||(*temps1-*temps2)==('A'-'a'))
    {temps1++;temps2++;i++;}
    else if(temps2!=s2&&*temps2!='\0'){temps2=s2;i=0;}

    }
    if(temps2=='\0'&&temps1!=s1)
    return temps1-i;
    else return 0;
    }**

    点赞 打赏 评论

相关推荐 更多相似问题