字符串比较函数实现,超简单的面试题,回过头来发现原来我的c多么的薄弱

今天某个公司面试,尽管报了个测试类的,但是面试依旧不给力,先是写个字符串比较函数,只判断相等和不相等的情况,当时大概这么写的:

#include<stdio.h>

bool strCompare(char *str1,char *str2){
char *s1=str1,*s2=str2;
printf("%c and %c\n",*s1,*s2);
while(s1&&s2){
if(*s1!=*s2){
printf("%c and %c\n",*s1,*s2);//调试专用
printf("test\n");
return false;
}
s1++;
s2++;
}
if(!s1&&!s2)return true;
return false;
}

int main(){
char st1[]="baibai";
char st2[]="baibai";
char st3[]="daibai";
if(strCompare(st1,st2))printf("success\n");
else printf("fail\n%c\n",*st1);
if(strCompare(st1,st3))printf("fail\n");
else printf("success\n");
}

shit,回来测试一下,发现第一个用例错了,截图如下

然后一直觉得是不是cfree问题,后来去vs2008那边逐行调试了一下,才知道自己弱爆了:

bool strCompare(char *str1,char *str2){
char *s1=str1,*s2=str2;
printf("%c and %c\n",*s1,*s2);
while(*s1&&*s2){
if(*s1!=*s2){
printf("%c and %c\n",*s1,*s2);
printf("test\n");
return false;
}
s1++;
s2++;
}
if(!*s1&&!*s2)return true;
return false;
}

看到木有,丫的,居然是因为那个while判断出问题了,太久没用c还是说根本没把c当一回事。

那时思考:

要是是while(s1&&s2)的话,遍历到最后(字符串结尾)还会一直遍历。实际上就是遍历到真正没有地址的时候才停下来(不知道这么说对不对,求指正),这个时候s1跟s2存的数值是神马,就不得而知了。

唉,发现了错误之后,还是感觉挺爽的,但是为自己如此弱的水平,实在感慨……神马招聘都不敢报c++了

转载于:https://www.cnblogs.com/dont27/archive/2011/10/12/2208037.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

思略特报告解读:智能制造企业如何实现数字化?

来源&#xff1a;亿欧智库摘要&#xff1a;全球制造业已经将数字化运营或者工业4.0提上日程&#xff0c;基于此&#xff0c;思略特调研了1100多为企业高管&#xff0c;了解他们对数字化的看法。根据调研&#xff0c;总结了四大业务生态体系&#xff1a;客户解决方案体系、运营体…

爬虫教程( 4 ) --- 分布式爬虫 scrapy-redis、集群

1、分布式爬虫 scrapy - redis scrapy 分布式爬虫 文档&#xff1a;http://doc.scrapy.org/en/master/topics/practices.html#distributed-crawls Scrapy 并没有提供内置的机制支持分布式(多服务器)爬取。不过还是有办法进行分布式爬取&#xff0c; 取决于您要怎么分布了。 …

爬虫教程( 5 ) --- Selenium 与 PhantomJS

1. Selenium 中式读法&#xff1a;【 瑟林捏幕 】 Selenium&#xff08; selenium 中文网&#xff1a;http://www.selenium.org.cn/ &#xff09;是一个强大的网络数据采集工具&#xff0c;最初是为了网站自动化测试而开发的&#xff0c;被用来测试 Web 应用程序在不同的浏览器…

详解深度学习的可解释性研究(上篇)

作者 | 王小贱来源 | BIGSCity知乎专栏摘要&#xff1a;《深度学习的可解释性研究》系列文章希望能用尽可能浅显的语言带领大家了解可解释性的概念与方法&#xff0c;以及关于深度学习可解释性工作的研究成果。本文是该系列的第一部分。01深度学习的可解释性研究&#xff08;一…

Office 安装

Office Tool Plus 官网&#xff1a;https://otp.landian.vip/zh-cn/ &#xff1a;https://zhuanlan.zhihu.com/p/486882686 Office Tool Plus 基于 Office 部署工具 (ODT) 打造&#xff0c;可以很轻松地部署 Office。无论你是个体还是团队&#xff0c;Office Tool Plus 都是您…

前瞻性总结:全球未来十年不可不知的10大趋势

来源&#xff1a;混沌大学摘要&#xff1a;无论你身在何处&#xff0c;真正的大趋势必将把地球上每一个人深卷其中&#xff0c;并重构大至国家、城市&#xff0c;小至企业、消费者之间一系列错综复杂的关系。不管你是处于创业模式&#xff0c;还是在大企业里面工作&#xff0c;…

爬虫教程( 6 ) --- 爬虫 进阶、扩展

1. 前言 1. 先看一个最简单的爬虫。 import requestsurl "http://www.cricode.com" r requests.get(url) print(r.text)2. 一个正常的爬虫程序 上面那个最简单的爬虫&#xff0c;是一个不完整的残疾的爬虫。因为爬虫程序通常需要做的事情如下&#xff1a; 1&…

阿里商业白皮书:每个企业都要变成一个数据公司

来源&#xff1a;悟空智能科技摘要&#xff1a;通过近百页的阐述&#xff0c;该报告全面而详实地介绍了阿里巴巴云零售服务生态系统的最新进展情况。通过近百页的阐述&#xff0c;该报告全面而详实地介绍了阿里巴巴云零售服务生态系统的最新进展情况。尤其是&#xff0c;通过数…

NLP通用模型诞生?一个模型搞定十大自然语言常见任务

翻译 | 于之涵编辑 | Leo出品 | AI科技大本营 &#xff08;公众号ID&#xff1a;rgznai100&#xff09;然而近日&#xff0c;Salesforce发布了一项新的研究成果&#xff1a;decaNLP——一个可以同时处理机器翻译、问答、摘要、文本分类、情感分析等十项自然语言任务的通用模型。…

爬虫教程( 3 ) --- 手机 APP 数据抓取

1. Fiddler 设置 这是使用 fiddler 进行手机 app 的抓包&#xff0c;也可以使用 Charles&#xff0c;burpSuite 等。。。 电脑安装 Fiddler&#xff0c;手机 和 安装 fiddler 的电脑处于同一个网络里&#xff0c; 否则手机不能把 HTTP 发送到 Fiddler 的机器上来。配置 Fiddle…

从互联网大脑模型看腾讯与今日头条之争

作者&#xff1a;刘锋 互联网进化论作者 计算机博士前言&#xff1a;通过互联网的大脑模型&#xff0c;分析腾讯与今日头条出现激烈竞争的背后原因&#xff0c;同时得出结论&#xff0c;从未来产业发展趋势看&#xff0c;这种竞争对于两家有可能是好的状况而非坏事。2018年以来…

爬虫教程( 1 ) --- 初级、基础、实践

爬虫教程&#xff1a;https://piaosanlang.gitbooks.io/spiders/content/ 如何入门 Python 爬虫&#xff1a;https://zhuanlan.zhihu.com/p/21479334 静觅 崔庆才的个人博客 Python 爬虫系列&#xff1a;http://cuiqingcai.com/category/technique/python http://www.cnblog…

概念炒作的背后,“智能合约”的真相是什么?

来源&#xff1a;36Kr就像“区块链”&#xff0c;“AI”和“云”一样&#xff0c;“智能合约”也是如今收到热捧的新概念。试想一下&#xff0c;有什么能比相确信合约在未来会按照约定被执行而不需要任何司法介入更好&#xff1f; 智能合约的承诺包括&#xff1a;合约可以被自动…

Dota 2被攻陷!OpenAI 人工智能5V5模式击败人类玩家(4000分水平)

来源&#xff1a;机器之心摘要&#xff1a;我们团队构建的模型&#xff0c;OpenAI Five&#xff0c;已经击败业余 Dota2 团队了。虽然如今是在有限制的情况下&#xff0c;但我们计划到 8 月份在有限英雄池下击败 TI 赛中的一支顶级专业队伍。我们团队构建的模型&#xff0c;Ope…

使用 mitmproxy + python 做拦截代理

From&#xff1a;https://blog.wolfogre.com/posts/usage-of-mitmproxy https://www.cnblogs.com/H4ck3R-XiX/p/12624072.html http://www.cnblogs.com/grandlulu/p/9525417.html mitmProxy 介绍&#xff1a;https://blog.csdn.net/h416756139/article/details…

ZeroMQ全面介绍

★ZMQ是啥玩意儿&#xff1f;   通俗地说&#xff0c;ZMQ是一个开源的、跨语言的、非常简洁的、非常高性能、非常灵活的网络通讯库。它的官方网站在"这里"&#xff0c;维基百科的介绍在"这里"&#xff08;暂时没有中文的维基词条&#xff09;。这玩意儿推…

Android IDA 动态调试最完善攻略,跨过各种坑

From&#xff1a;https://www.pianshen.com/article/3409449384/ IDA 静态分析 与 动态分析&#xff1a;https://zhuanlan.zhihu.com/p/38983223 新手向总结&#xff1a;IDA 动态调试 So 的一些坑&#xff1a;https://zhuanlan.zhihu.com/p/145383282 Android 逆向之旅 --- …

一场科技盛宴,一次“盈”满天下 安创成长营五期Demo Day完美收官

2018年6月21日&#xff0c;安创成长营第五期Demo Day在北京金隅喜来登拉开帷幕&#xff0c;16家安创成长营五期成员代表齐齐亮相&#xff0c;为资本圈带来了一场集科技、创新、前瞻于一体的项目展示。数百数位业内有影响力的Arm生态系统的合作伙伴、知名品牌厂商创新事业部负责…

安卓逆向_25 --- 密码学 之 《Java加密与解密的艺术》

《Java加密与解密的艺术》中文 PDF版 &#xff1a;https://www.jb51.net/books/65048.html 1. 密码学应用 &#xff1a;https://www.bilibili.com/video/BV1oA411J7Lb?p1 密码学应用 密码学的基本概念&#xff0c;对称密码&#xff0c;公钥密码&#xff0c;Hash算法&#xff…

深度丨一文读懂智能制造的主线——智能生产(工厂/车间数字化)

来源&#xff1a; 亿欧摘要&#xff1a; 发展智能制造对于中国制造业乃至中国经济的重要性不言而喻&#xff0c;先进制造业作为深耕制造业领域的专业媒体&#xff0c;长期关注智能制造发展&#xff0c;助力中国制造转型升级&#xff0c;努力做“中国制造2025”的推动者。近年来…