30/09/2018, 16:05

1 phiên bản khác của hàm strlen

#include<stdio.h>
int strlen(char *s)
{
int i;
for(i=0;*s!='';*s++)
i++;
return i;
}

VD:Viết chương trình tính độ dài của chuỗi"Hello".

#include<stdio.h>
int strlen(char*s);
int main()
{
char s[]="Hello";
printf("Do dai cua chuoi da nhap :%d",strlen(s));
return 0;
}
int strlen(char *s)
{
int i;
for(i=0;*s!='';*s++)
i++;
return i;
}

Nếu có lỗi nhờ mọi người fix lại giúp mình với.Thank you vì đã đọc bài viết của mình.

Dũng Kon viết 18:09 ngày 30/09/2018

Hoan nghênh bạn, mình cũng xin đóng góp một ý tưởng

int strlen(char* str)
{
      char *p = str;
      while(*p++);
      return (p - str - 1);
}
BaoLe viết 18:15 ngày 30/09/2018

phần này mình đọc trong quyển the C programming thấy hay , nên post lên đây ai không biết có cơ hội đươc biết thôi.

Nguyễn Minh Dũng viết 18:17 ngày 30/09/2018

Diễn đàn nên có những bài viết như thế này, đặc biệt là khi mình đọc mấy quyển sách hay. Không cần biết bạn giỏi hay dở như thế nào, nên chia sẻ những gì mà mình phát hiện ra, sẽ giúp mình nắm được kiến thức sâu hơn.

Trong mấy hàm này anh nghĩ là anh chỉ cần đóng góp thêm 1 ý, đó là mình nên sử dụng const char * để đảm bảo mình sẽ không thay đổi nội dung của chuỗi đầu vào.

BaoLe viết 18:15 ngày 30/09/2018

Nếu được anh có thể viết một bài về Address Arithmetic theo cách hiểu của anh để em tham khảo.Chứ em đọc phần đó nhưng em thấy khó hiểu quá.

Nguyễn Minh Dũng viết 18:19 ngày 30/09/2018

Em cứ đặt câu hỏi đi, anh giải thích nếu anh hiểu

BaoLe viết 18:10 ngày 30/09/2018

Nội dung mà em không hiểu khi đọc phần này đó là afree và alloc.

Nguyễn Minh Dũng viết 18:16 ngày 30/09/2018

Ý @14520054 nói là hàm free và hàm calloc? Hàm free hủy vùng nhớ được cấp, hàm calloc cấp vùng nhớ và khởi tạo các vùng nhớ bằng 0.

Em xem tạm mấy bài con trỏ để hiểu. Các bài này anh làm cho C++, thay lệnh new = calloc, thay delete = free là được. Em xem xong không hiểu nữa thì tạo topic mới. Cho một ví dụ trong sách. Anh sẽ giải thích

BaoLe viết 18:14 ngày 30/09/2018

Ok.Em sẽ xem video.Có gì không hiểu em sẽ hỏi anh sau.

Bài liên quan
0