Strcmp là gì

Trang chủ CÔNG NGHỆ hiện thực và sử dụng hàm strcmp trong c++ là gì, hỏi về strcmp() trong c

Buổi trước chúng ta vừa cùng nhau đi tìm hiểu về chuỗi trong C. Buổi hôm nay Lập trình không khó sẽ cùng các bạn đi tìm hiểu một thư viện hỗ trợ rất nhiều hàm để làm việc với chuỗi – đó là thư viện string.h, và chúng ta sẽ cùng nhau đi tìm hiểu lần lượt các hàm trong thư viện string.h nhé.

Bạn đang xem: Hiện thực và sử dụng hàm strcmp trong c++ là gì, hỏi về strcmp() trong c


Thư viện string.h trong C

Đây là thư viện cung cấp rất nhiều hàm hữu ích giúp các bạn thuận tiện để làm việc với chuỗi. Để sử dụng các đoạn code trong bài viết này, bạn vui lòng thêm thư viện sau:

Ngay sau đây, chúng ta sẽ cùng làm quen với các hàm trong thư viện string.h được sử dụng phổ biến nhé.

Các hàm trong thư viện string.h

Mình sẽ đi qua từng hàm, và mỗi hàm đều sẽ có những ví dụ cụ thể cho bạn.

Hàm strlen – hàm lấy chiều dài chuỗi

Hàm strcmp – hàm so sánh 2 chuỗi

Trong ngôn ngữ C, bạn không thể dùng dấu == để so sánh 2 chuỗi. Lý do là bởi khi bạn truy xuất tên chuỗi thì thực tế là bạn đang truy xuất tới địa chỉ của nó chứ không phải giá trị. Xem ví dụ sau:

Bạn thấy đấy, đây là 2 địa chỉ khác nhau. Do đó, nếu bạn dùng == để so sánh thì bạn đang so sánh 2 địa chỉ chứ không phải cái bạn mong muốn đâu. Đó là lý do chúng ta cần hàm strcmp().

Giá trị trả về của hàm này bạn xem trong bảng dưới đây:

Giá trị trả vềGiải thích
một số nguyên Khi ký tự đầu tiên của 2 chuỗi không giống nhau và ký tự này ở chuỗi str1 có giá trị nhỏ hơn ở chuỗi str2
giá trị 0 hai chuỗi giống nhau
một số nguyên > 0 Khi ký tự đầu tiên của 2 chuỗi không giống nhau và ký tự này ở chuỗi str1 có giá trị lớn hơn ở chuỗi str2

Xem ví dụ sau đây:

Vai trò: Copy giá trị của chuỗi nguồn và lưu vào chuỗi đích. Bạn cần dùng hàm này khi muốn gán giá trị của chuỗi này cho chuỗi khác thay vì sử dụng dấu = nhé.

Xem thêm: Hướng Dẫn Làm Ảnh Gif Bằng Photoshop Cs6, Tạo Gif Bằng Photoshop

Hàm này trả về con trỏ trỏ tới vị trí xuất hiện đầu tiên của ký tự c. Còn hàm thì trả về vị trí cuối cùng. Nếu không tồn tại, trả về con trỏ NULL.

Hàm này tìm kiếm sự xuất hiện của chuỗi con sub trong chuỗi str. Nếu không tìm thấy thì trả về con trỏ NULL. Nếu tìm thấy thì trả về con trỏ trỏ tới vị trí tìm thấy.

Tại sao lại là “khong kho”? Bởi vì chữ “khong” có chữ “kho”.

Trên đây là các hàm trong thư viện string.h sử dụng nhiều. Bạn có thể xem đầy đủ các hàm của thư viện string.h ở link trong tài liệu tham khảo.

Tài liệu tham khảo

Các bài viết trong khóa họcBài trước: Bài 56. Chuỗi trong CBài sau: Bài 58. Đảo ngược chuỗi trong C/C++

Strcmp là gì

Lập Trình Không Khó là một cộng đồng chia sẻ và đào tạo lập trình phi lợi nhuận hàng đầu tại Việt Nam.




Hàm strcmp() trong C

Hàm int strcmp(const char *str1, const char *str2) so sánh chuỗi được trỏ tới bởi sr1 với chuỗi được trỏ tới bởi srt2.

Khai báo hàm strcmp() trong C

Dưới đây là phần khai báo cho strcmp() trong C:

int strcmp(const char *str1, const char *str2)

Tham số

  • str1 -- Đây là chuỗi đầu tiên để được so sánh.

  • str2 -- Đây là chuỗi thứ hai để được so sánh.

Trả về giá trị

Hàm này trả về các giá trị như sau:

  • Nếu giá trị trả về < 0 thì hàm này chỉ rằng str1 là ngắn hơn str2.

  • Nếu giá trị trả về > 0 thì hàm này chỉ rằng str2 là ngắn hơn str1.

  • Nếu giá trị trả về = 0 thì hàm này chỉ rằng str1 là bằng str2.

Ví dụ

Chương trình C sau minh họa cách sử dụng của strncmp() trong C:

#include 
#include 

int main ()
{
   char str1[15];
   char str2[15];
   int ret;


   strcpy(str1, "abcdef");
   strcpy(str2, "ABCDEF");

   ret = strcmp(str1, str2);

   if(ret < 0)
   {
      printf("Chuoi str1 la ngan hon chuoi str2");
   }
   else if(ret > 0) 
   {
      printf("Chuoi str2 la ngan hon chuoi str1");
   }
   else 
   {
      printf("Chuoi str1 la bang chuoi str2");
   }
   
   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Strcmp là gì

Strcmp là gì

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài Thư viện C phổ biến khác tại VietJack:


string-h-trong-c.jsp



Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất