BUG程序调试总结
今天犯了一个不该犯的小问题,在vs2019中使用sizeof()出现了输入被劫断的问题
当时也尝试使用断点,不知道是自己调bug的时间久了还是一下子抽风了,反正
很明显的一个问题自己却调了几个小时...
那我们就来谈谈今天遇到的问题吧
当我复制其他代码到vs2019中时有一堆函数需要改代码太多此处省略几个字子????...
改完之后程序正常跑起来了,(这里是一个关于密码匹配的问题)但是问题又来了这里
使用scanf_s()输入密码,密码明明对了为什么匹配不上呢这就一时想不通了,不想了直接写
cout<<"text"<<endl;测试函数,结果测试成功了看来不是语句和条件的问题,那就直接上断点,当程序执行到密码匹配的时候,账号的字符串是空格,密码的没问题,我上时就傻了(我想这应该是编译器抽风了吧),然后继续往后执行,问题来了密码匹配不成功,哎!我就纳闷了哈这什么情况啊,肯定是怪电脑,就是电脑的问题,换了好几台电脑,还是一样的结果,这时候我又开始怀疑编译器的问题,肯定怪编译器,肯定是编译器抽风了,又换g++编译器同样还是匹配不上密码账号,之后调了一下午终于知道问题在哪里了,
就是scanf_s搞的鬼当时使用的是scanf_s("%s",&account,sizeof(char));和scanf_s("%s",&code(int));
就是这个小问题犯了就浪费了一下午来找,char为一个字节,输入时就被截断了,密码当然不匹配,了
所以这些没遇到过,但是很简单浪费大把时间到这上面不值得,所以大家调试的时候一定要细心,不要向我这样粗心大意,不然浪费的时自己的时间
(来自奇牛学院#残芯同学)