Nội dung chính
Bài tập C - Tìm độ dài chuỗi bởi sử dụng con trỏ trong C
Đề bài: Viết chương trình C tìm độ dài chuỗi bởi sử dụng con trỏ trong C.
Lời giải
Chuỗi trong C là một mảng ký tự được kết thúc bởi \0 (ký tự null).
Chuỗi trong C cũng giống như một mảng trong C được lưu trữ liên tục trong bộ nhớ, do vậy ta sẽ trỏ con trỏ tuần tự vào địa chỉ ô nhớ của phần tử đầu tiên đến phần tử cuối cùng (ký tự null) để đếm độ dài của chuỗi.
Chúng ta đã có các cách ngắn hơn để tìm độ dài chuỗi là: Tìm độ dài chuỗi trong C. Bài này chúng ta sẽ sử dụng con trỏ để tìm độ dài chuỗi trong C.
Dưới đây là chương trình C để giải bài tập tìm độ dài chuỗi bởi sử dụng con trỏ trong C:
#include<stdio.h> #include<conio.h> int string_ln(char*); int main() { char str[50]; int length; printf("\nNhap chuoi bat ky: "); gets(str); length = string_len(str); printf("\nDo dai chuoi %s la: %d", str, length); return(0); } /* * ham tinh do dai cua mang boi su sung con tro * * chuoi trong c duoc luu tru lien tuc trong bo nho * va ket thuc boi null ('\0') * do vay ta se tro con tro ptr vao o nho tiep theo cho den gia tri null */ int string_len(char *p) { int count = 0; while (*p != '\0') { count++; p++; } return count; }
Chạy chương trình C trên cho kết quả như sau: