看了看之前寫的程序,以爲應該再寫一次。ide
#include<stdio.h> #include<string.h> char* find(char *left, char *right,int len) { char k; char *mid= left + len / 2; printf("k="); scanf("%c", &k); while ((*mid != *left) && (*mid!=*right)) { len /= 2; if (k == *mid) return mid; else if (k < *mid) { right = mid; mid = left + len/ 2; } else { left = mid; mid = left + len / 2; } } return NULL; } int main() { char arr[] = "123456"; int len = 0; len = strlen(arr); printf("%d", find(arr, arr + len - 1, len)); system("pause"); return 0; }