The gcc compiler detects functions in the C binary search program by default
Andrew Pinski
pinskia@gmail.com
Sun Dec 29 02:50:00 GMT 2019
On Sat, Dec 28, 2019 at 6:31 PM caipenghui <caipenghui_c@163.com> wrote:
>
> hello everyone,
>
> I found that gcc version 9.2.1 20191008,
>
> i to compiles a binary search algorithm program that I write that only
> checks the function prototype,
>
> but does not check the name after the definition?
>
bsearch is a standard C function.
https://pubs.opengroup.org/onlinepubs/009695399/functions/bsearch.html
http://www.cplusplus.com/reference/cstdlib/bsearch/
Thanks,
Andrew Pinski
> / * binary bearch * /
> #include <stdio.h>
> int bsearch(int x, int a[], int n);
> int main(void)
> {
> int a[] = {
> 0, 555,
> 3, 4, 5,
> 6,
> };
> printf("%d\n", bsearch(0, a, sizeof a / sizeof a[0]));
> return 0;
> }
>
>
> int abaaaaasjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjerch(int x, int
> a[], int n)
> {
> int low;
> int hig;
> int mid;
>
> low = 0;
> hig = n - 1;
> while (low <= hig) {
> mid = (low + hig) / 2;
> if (x < *(a + mid))
> hig = mid - 1;
> else if (x > *(a + mid))
> low = mid + 1;
> else
> return mid;
> }
> return -1;
> }
>
>
More information about the Gcc-bugs
mailing list