怎么说呢,感觉自己这3天努力的debug完全就是浪费了时间,在写产生四则运算算式的时候用到了char*和string类型,因为sprintf函数的第一个参数必须是char*类型,所以不得不用,这个函数与printf类似,不过可以指定输入的地方,比如自己声明的字符数组,那么就可以达到数字与字符串之间的转换,但是在程序中还要用到字符串的连接,string类型直接使用+就可以实现,非常方便,但是在把一个string类型的变量和char*类型的变量连接时就会出现问题,显示乱码,而且后面的一些逻辑也不对,最开始我认为是后面判断出了问题,debug时后面确实出问题了,在经过2天的努力尝试之后还是没有解决这个问题,心态崩的特别……然后在今天中午突发奇想,或许是string和char*之间有什么地方没有注意到,于是写了一个小程序来测试连接string和char*,果然编译器报错说需要常量或者什么东西的,将连接放到循环里面之后说没有char*到string的转换,但是放到子函数里面没有报任何错,这就……然后声明一个string,初始化为之前弄好的字符数组,用这个string来进行连接,然后……没有任何乱码,后面的判断也没问题,心态彻底崩了……
总结一下经验吧,程序逻辑出问题并不可怕,可怕的是语法和类型的问题,逻辑问题顺一遍差不多可以解决,但是后面的这种问题可能要查好久,而且很容易忽视,搞不好就出大问题,所以编程的基础知识还是要深入的理解掌握,这对写出良好的程序至关重要,而且不能急于求成,要确保每一行代码都是安全的,这会大大减少debug的时间。
(已经做好被嘲笑的准备了……)