简单的例子: 查找list[]中的最大值:int Largest(int list[], int length);
首份实现代码如下:
int Largest(int list[], int length) { int i,max; for(i = 0; i < (length – 1); i ++ ) { if(list[i] > max) { max=list[i]; } } return max; }
上述代码中首先max值没有初始化,虽然在C语言中不会出现错误,但是要记得赋值。由于要考虑到数组中可能会存在负数,所以不能赋0,应该赋值数组第一个元素。
其次I的循环次数少一次,应该到length。
由于数组有可能为空,所以应该增加判别条件,数组是否为空,如果为空,则抛出异常。
改正后的代码如下:
int Largest(int list[], int length) { int i,max; if(List==NULL||length=0) { retuen 0; } max=List[0]; for(i = 0; i < (length – 1); i ++ ) { if(list[i] > max) { max=list[i]; } } return max; }