Computer >> Máy Tính >  >> Lập trình >> lập trình C

Nêu sự khác biệt giữa các hàm memcmp và memicmp trong ngôn ngữ C

Memcmp () và memicmp () so sánh n byte đầu tiên của hai khối bộ nhớ.

  • memcmp () thực hiện so sánh dưới dạng các ký tự không dấu.

  • memicmp () thực hiện so sánh dưới dạng ký tự nhưng bỏ qua chữ hoa hoặc chữ thường.

  • Cả hai hàm đều trả về một giá trị số nguyên.

  • Hai bộ đệm bộ nhớ bằng nhau (trả về 0).

  • Bộ đệm đầu tiên lớn hơn bộ đệm thứ hai (trả về> 0).

  • Bộ đệm đầu tiên nhỏ hơn bộ đệm thứ hai (trả về <0).

Chương trình

Chương trình sau đây cho thấy cách sử dụng các hàm memcmp () và memicmp ().

#include<conio.h>
#include<mem.h>
main(){
   char st1[]="This is C Programming language";
   char st2[]="this is c programming";
   int result;
   result=memcmp(st1,st2,strlen(st2));
   printf("\n1. result after comparing buffer using memcmp");
   check(result);
   result=memicmp(st1,st2,strlen(st2));
   printf("\n2. result after comparing buffer using memicmp");
   check(result);
}
check(int x){
   if(x==0)
      printf(" buffer st1 and st2 hold same data\n");
   if(x>0)
      printf("buffer st1 is bigger than buffer st2\n");
   if(x<0)
      printf(“ buffer st1 is less than buffer st2\n");
}

Đầu ra

Bạn sẽ thấy kết quả sau -

1. result after comparing buffer using memcmp buffer st1 is less than buffer st2
2. result after comparing buffer using memicmp buffer st1 and st2 hold same data