Language in C Interview Questions and Answers
Question: How do I compare character data stored at two different memory locations?
Answer: Sometimes in a program we require to compare memory ranges containing strings. In such a situation we can use functions like memcmp( ) or memicmp( ). The basic difference between two functions is that memcmp( ) does a case-sensitive comparison whereas memicmp( ) ignores case of characters. Following program illustrates the use of both the functions.#include <mem.h> main( ) { char *arr1 = "Kicit" ; char *arr2 = "kicitNagpur" ; int c ; c = memcmp ( arr1, arr2, sizeof ( arr1 ) ) ; if ( c == 0 ) printf ( "nStrings arr1 and arr2 compared using memcmp are identical" ) ; else printf ( "nStrings arr1 and arr2 compared using memcmp are not identical" ) ; c = memicmp ( arr1, arr2, sizeof ( arr1 ) ) ; if ( c == 0 ) printf ( "nStrings arr1 and arr2 compared using memicmp are identical" ) ; else printf ( "nStrings arr1 and arr2 compared using memicmp are not identical" ) ; } |
Is it helpful?
Yes
No
Most helpful rated by users:
- What will be the output of the following code?
void main ()
{ int i = 0 , a[3] ;
a[i] = i++;
printf ("%d",a[i]) ;
} - Why doesn't the following code give the desired result?
int x = 3000, y = 2000 ;
long int z = x * y ; - Why doesn't the following statement work?
char str[ ] = "Hello" ;
strcat ( str, '!' ) ; - How do I know how many elements an array can hold?
- How do I compare character data stored at two different memory locations?