学习C语言的第九天
long *binarySearch( long val, long array[ ], int n )
{
int m = n/2;
if ( n <= 0 ) return NULL;
if ( val == array[m] ) return array + m;
if ( val < array[m] ) return binarySearch( val, array, m );
else return binarySearch( val, array+m+1, n-m-1 );
}
使用return可以实现递归函数的效果,递归就是指函数内部又一次调用了该函数本身。同时return也是终止函数的一种手段(与break终止循环的效果类似)。
函数定义时,若函数内部的局部变量与外部的全局变量或局部变量定义上有重合,内部的局部变量优先于外部。
printf("%5d",x) %5d表示输出长度为五的字符,若不足,空格补足,若超过截取,即从开始就固定长度。
整数型在进行除法时会自动忽略小数部分,即使除法时是给一个浮点型赋值,一样会自动去除小数部分。
例如:
int N;
int lN;
float LN;
lN = N / 2;
LN = N / 2;
N输入3,lN是1,LN也是1。
在输入多组字符串到多维数组时,一定要多预留一位给数组,不然输出结果会有问题。
例如储存多个18位身份证:sfz[100][19] 不能将19改成18,否则会报错。(但如果是一位数组,那么无伤大雅)