Một lần tình cờ lên mạng thì tôi thấy có người viết hàm strlen() như sau:
int myStrlen( char *s )
{
char *start;
start = s;
while( *s != 0 )
{
++s;
}
return s - start;
}
Tôi đã thử và thấy nó trả về giá trị đúng như yêu cầu. Nhưng tôi không hiểu vì sao s là mảng con trỏ kiểu char trong C mà lại có thể gán trực tiếp: start = s (tôi nghĩ điều này chỉ xảy ra với chuỗi trong C++).
Thứ 2 là tại sao biến kiểu char mà lại có thể dùng: ++s.
Mong các bạn sớm hồi âm. Cảm ơn rất nhiều!
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?