Viết 1 hàm so sánh 2 chuỗi đầu vào không phân biệt hoa thường lưu ý không sử dụng thư viện string h
Khi so sánh 2 số trong C thì ta có một số phép toán làm rất đơn giản <, >, >=, <=, ==, !=, tuy nhiên để so sánh chuỗi thì chúng ta không thể dùng các phép toán đó mà cần phải dùng hàm strcmp nằm trong thư viện string.h. Hàm strcmp so sánh chuỗi s1 và chuỗi s2 và cho ta kết quả:
Lưu ý: Trong Linux, hàm này trả về giá trị âm, dương, 0 (là khoảng cách giữa 2 ký tự khác nhau tương ứng trong s1, s2). Ví dụ chương trình sau: #includeKết quả:
2. Nguyên tắc so sánhNguyên tắc so sánh 2 chuỗi đó là duyệt lần lượt 2 từng ký tự của 2 chuỗi. So sánh mã ACSII của 2 ký tự đó, mã ký tự nào lớn hơn tức là chuỗi lớn hơn và ngừng so sánh. Nếu một chuỗi nào hết ký tự để so sanh trước thì chuỗi đó bé hơn.
Tham khảo bảng mã ACSII
Mình xin thảo luận về công dụng của các hàm thường sử dụng trong chuỗi: Chú ý khi sử dụng các hàm này ta phải khai báo thư viện #include "string.h" 1.Hàm strcpy:
Có nghĩa là khi ta nhập vào một dãy các kí tự ở chuỗi nguồn thì nó sẽ sao chép tất cả các kí tự vừa nhập vào cái chuỗi đích. #includeChương trình trên khi ta nhập vào mảng A một dãy các kí tự là “abc” thì khi gap hàm strcpy(B,A); thì nó sẽ copy 3 kí tự “abc” từ mảng A vào mảng B. Nếu chúng ta muốn copy n kí tự từ chuỗi nguồn vào chuỗi đích ta dùng hàm sau: 2.Hàm strncpy:
3.Hàm strlen:
4.Hàm strcat:
5.Hàm strncat:
6.Hàm strcmp:
Hàm sẽ trả về 1 trong các giá trị sau:
Ví dụ: char *chu1 = "aaa", *chu2= "bbb", *chu3 = "aaa"; strcmp(chu1, chu2); //kết quả trả về - 1 strcmp(chu1, chu3); //kết quả trả về 0 strcmp(chu2, chu3); //kết quả trả về 1 ví dụ minh họa đây: /* Nhap danh sach ten va sap xep theo thu tu tang dan*/ #include7.Hàm strlwr:
8.Hàm strupr :
9.Hàm strrev :
10.Hàm strchr:
11.Hàm strrchr: char *strrchr(char *s,char ch);
12.Hàm strstr:
Ví dụ: Viết chương trình sử dụng hàm strstr() để lấy ra một phần của chuỗi gốc bắt đầu từ chuỗi “hoc”. #include13. Hàm memset
14. Hàm memcpy
15. Hàm memcmp
16.Hàm stricmp:
Có gì sai sót mọi người xin đóng góp ý kiến nhá bấm vào cây bút Wiki để sửa nhé 36 Likes
cứ như thế này thiếu j tài nguyên cơ chứ a @ltd ?! cái bài này ví dụ lên để trong markdown. còn nữa mình giải thích cách dùng hạn chế post code thừa! như vật thì dễ hơn đối với người xem và người viết 2 Likes
mình làm cũng chưa hoàn chỉnh lắm 2 Likes
@quanpham ơi, em dùng Markdown để post code nhé
Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null stateme… P/S: Em làm rất tốt, cố gắng chỉnh sửa sao cho hoàn chỉnh là được. @Honey_moon em cũng bắt tay vào làm Open Source đi chứ 3 Likes
hi hèn gì em viết code mãi mak k dc hi 1 Like
Em có thể sửa bài bằng cách
Bấm vào hình cây bút bạn sẽ sửa được bài [image] P/S: @quanpham em có muốn bài viết của em trở thành Wiki không? Nếu nó là Wiki thì ai cũng có thể sửa đổi và làm cho nó tốt hơn. Anh mới sửa 1 ít, nhưng anh nghĩ nhiều người khác cùng sửa thì nhanh hơn. Việc đổi sang Wiki post hay không là ý của em. Nhưng chuyển sang Wiki Post có nghĩa là open source, ai cũng có thể xem và sửa. Em có muốn Open Source bài viết của mình không? 2 Likes
được chứ em đăng bài là để mọi người xem mak hi 2 Likes
Thở không ra hơi luôn, sửa cái bài của @quanpham mệt quá. Em coi lại cách trình bày nhé, anh sửa quá chừng sửa. Nhìn vào history đi Bài này vẫn còn thiếu ví dụ, ai có ví dụ thì điền thêm vào nhé. Sử dụng tính năng Wiki Post ai cũng có thể sửa bài cả. 1 Like
A Đạt ơi, a nên sửa lại cái quyền edit wiki đi. Chứ ai cũng edit đc thì loạn lắm @ltd 1 Like
em mới bổ sung thêm cái code nữa hi, để em tìm rồi bổ sung thêm 1 Like
Anh tin tưởng mọi người mà, có thể sau này anh chỉ cho Regular mới có quyền sửa nếu xảy ra tình trạng phá hoại. Nhưng anh tin mọi người 2 Likes
@quanpham ơi, anh nghĩ là em nên tách ra, mỗi topic chỉ nói về một hàm thôi, để sau này có ai thắc mắc về lĩnh vực gì, anh chỉ việc link tới topic đó, chứ để nhiều hàm và đặt cái tên “xử lý chuỗi thông dụng” thì khó tìm kiếm lắm. Anh thấy @kayz làm rất tốt này.
Mình thấy nước ngoài có rất nhiều ý tưởng hay và FREE nhưng tại VN, mình thấy chúng lại phải trả tiền mới có được. Thế nên cái ý tưởng này mới nảy ra, đó là phát triển mã nguồn mở PHP. Mình sẽ ủng hộ Open Source, để OpenSource phát triển mạnh mẽ và có một cộng đồng Việt khiến ai cũng biết. Chúng ta sẽ bàn về PHP cũng như là thiết kế Web, JQuery, CSS nói chung. Các bạn sẽ cùng nhau thảo luận các hàm, phương thức, lớp hay một sản phẩm nào đó mà chính chủ là Người Việt - hàng Việt chất lượng … Cả @Gio nữa 2 Likes
em hiểu ý anh rồi . có nghĩa mình làm mỗi hàm mỗi cái topic phải không @ltd 1 Like
Máy hàm nào giống nhau về chức năng có thể viết Gộp mà chẳng hạng câu lệnh lặp
topic này e để a đạt sửa và góp ý vậy! thiết nghĩ là nếu post chung thế này mai mốt cái hàm nào nó có lỗi rồi mọi ng hỏi nhốn nháo lên thì cái topic này dài loằng ngoằng như rắn bò vậy! với lại một hàm thì dễ hiểu mà còn dễ góp ý nữa chứ 1 Like
quá hay luôn
kiểu wchar_t có hỗ trợ hàm cắt xâu ko mọi người
Hàm này tên là gì trong C?
Có dòng char *s; 1 Like next page → Home Categories FAQ/Guidelines Terms of Service Privacy Policy |