It is common for comparison functions to return 0
on “equals”, so that they can also return a negative number for “less than” and a positive number for “greater than”. strcmp()
and memcmp()
work like this.
It is, however, idiomatic for zero to be false and nonzero to be true, because this is how the C flow control and logical boolean operators work. So it might be that the return values chosen for this function are fine, but it is the function’s name that is in error (it should really just be called compare()
or similar).
Related Posts:
- How to use execvp()
- How to use execvp() to execute a command
- How does strtok() split the string into tokens in C?
- what is Segmentation fault (core dumped)? [duplicate]
- What causes a segmentation fault (core dump) to occur in C?
- uint8_t vs unsigned char
- How to use symbols of extended ASCII table in C?
- What is the difference between ++i and i++?
- Using boolean values in C
- What does “collect2: error: ld returned 1 exit status” mean?
- typedef struct vs struct definitions [duplicate]
- What can be the reasons of connection refused errors?
- typedef struct vs struct definitions [duplicate]
- Cannot figure out how to use getchar(); in C
- Why am I getting “void value not ignored as it ought to be”?
- c stack smashing detected
- Undefined reference to pthread_create
- Convert char to int in C and C++
- Difference between malloc and calloc?
- What is Bit Masking?
- segmentation fault : 11
- Strings and character with printf
- What are .a and .so files?
- So what does “return 0” actually mean?
- Why is the gets function so dangerous that it should not be used?
- What does “collect2: error: ld returned 1 exit status” mean?
- Warning comparison between pointer and integer
- Using ssize_t vs int
- Why a warning of “control reaches end of non-void function” for the main function?
- How do I use extern to share variables between source files?
- Cannot assign requested address – possible causes?
- ARM Assembler – How do I use CMP, BLT and BGT?
- Invalid read of size 8 – Valgrind + C
- error: called object is not a function or function pointer
- munmap_chunk(): invalid pointer
- C read file line by line
- warning: incompatible implicit declaration of built-in function ‘xyz’
- No Symbol Table using GDB on Compiled Programs
- What is char ** in C?
- What is a bus error? Is it different from a segmentation fault?
- Get the current time in C
- C: linker command failed with exit code 1
- where does stdio.o live in linux machine?
- What’s the equivalent of new/delete of C++ in C?
- sizeof float (3.0) vs (3.0f)
- Get text from user input using C
- Using Dynamic Memory allocation for arrays
- How to trigger SIGUSR1 and SIGUSR2?
- How do I lowercase a string in C?
- warning: expression result unused
- conflicting types error when compiling c program using gcc
- Get the current time in C
- error: indirection requires pointer operand (‘int’ invalid)
- What is a file with extension .a?
- What is the difference between exit(0) and exit(1) in C?
- error: indirection requires pointer operand (‘int’ invalid)
- Finding the length of a Character Array in C
- Return char[]/string from a function
- Valgrind: Invalid read of size 1
- How to print a char array in C through printf?
- How to clear all the elements of array in C?
- Constant pointer vs Pointer to constant
- Variable warning set but not used
- Zero an array in C code
- Excess elements in char array initializer error
- Expected declaration specifier error in function
- Encrypt with private key and decrypt with public key
- strcmp giving segmentation fault
- What does “pointer being freed was not allocated” mean exactly?
- How to use timer in C?
- C char* to int conversion
- What is the difference between stdin and STDIN_FILENO?
- error: aggregate value used where an integer was expected
- char pointers: invalid conversion from ‘char*’ to ‘char’?
- Allocating string with malloc
- How to simply convert a float to a string in c?
- What is the difference between char array and char pointer in C?
- hash function for string
- What happens during a “relocation has invalid symbol index” error?
- What are .axf files?
- Error: “Access not within mapped region at address” (Valgrind)
- printf format specifiers for uint32_t and size_t
- How to convert string to float?
- error: function returns address of local variable
- What is an simple example of copy_from_user
- What is `S_ISREG()`, and what does it do?
- typedef struct pointer definition
- How does the fscanf function work?
- Math constant PI value in C
- Return a `struct` from a function in C
- C: scanf to array
- The code does not execute properly. Try to figure out why
- ld.exe: cannot open output file … : Permission denied
- How to read from input until newline is found using scanf()?
- getline() vs. fgets(): Control memory allocation
- What is char ** in C? [duplicate]
- segmentation fault using scanf
- Segmentation fault- strcat
- How to Compare 2 Character Arrays [duplicate]
- segmentation fault with strcpy [duplicate]