自己写代码的错误总结(持续更新)
来源:互联网 发布:linux引导win10 编辑:程序博客网 时间:2024/04/29 22:59
1. while循环常常忘了变量自增。
2. 字符串快速排序遇到的问题:
我遇到的问题:字符串排序直接调用的是整形数组的快速排序方法。
字符串一个元素是一个字符类型的,只占有一个字节,如果调用的是整形的排序,每个元素是int型,要占用4个字节,对每个元素交换时会破坏元素的结构,可能导致乱码
比如,本来交换一个字节长度的元素,而错误的交换了两个四字节的元素,导致了错误!!
字符串使用快速排序一定要注意排序函数中输入字符串的类型!!
3. 交换两个数时引入了中间变量,这个错误容易在排序时出现!
char a[]="abca";char temp;temp=a[0];swap(&a[1],&temp);puts(a);输出的是aaca;
为什么呢?因为交换的是temp和a[1];而不是用a[0]与a[1]交换;
交换后,temp=a[1]=b; a[1]=temp=a; a[0]并没有改变!
在选择排序中,
void SelectSort2(char *s, int n){int i,j,k;char temp;for(i=0;i<n-1;i++){temp = s[i];k = i + 1;for(j=i+2; j<n; j++)if(s[j]<s[k])k=j;if(s[k]<s[i]){swap(&s[k],&temp);}}}以上代码因为在交换过程中引入了中间变量,不能达到交换s数组的效果;
应该把temp变量去掉,并改为swap(&s[k],&s[i]);
4.
printf("%.1lf\n",100);输出的是0.0
0 0
- 自己写代码的错误总结(持续更新)
- [.net]记录一些自己写代码时的总结(持续更新)
- 写代码时容易出现的错误(持续更新)
- 错误总结(持续更新)
- 自己总结的编程Tips,持续更新
- 学习安卓时犯下的错误总结(持续更新ing)
- 自己遇到的错误以及自己的解决方案(持续更新中~)
- android一些有用的方法,代码,和错误处理总结(持续更新)
- 自己总结的几个小面试题,持续更新中~
- 写代码时注意点(持续更新篇)
- 写js代码小技巧(新手)--持续更新
- Android+Java知识点总结-持续更新中(为了更好的自己)
- 写java代码经验整理-持续更新
- 持续更新:关于写代码严谨性
- 关于组件化开发中常用到的svn,cocoapods代码管理工具错误解决办法(持续更新)
- Unix C 常见编译错误总结(持续更新)
- Unix C 常见编译错误总结(持续更新)
- React Native开发错误警告处理总结(持续更新)
- 正则表达式之作用
- 写给24岁的自己
- 混沌------分岔图绘制不同方法的总结、比较(转)
- Android源码分析工具及方法
- 新课程设计之点餐系统(前一课程设计里面发的图片不成功)
- 自己写代码的错误总结(持续更新)
- 存储系统的那些事
- MFC中画直线
- Cocos2d-x 脚本语言Lua基本数据结构-表(table)
- 81_leetcode_First Missing Positive
- property 和 synthesize解说
- 在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持
- 混沌-------劳斯-赫尔维茨(Routh-Hurwitz)稳定判据
- STL-deque