chào mọi người, mình có một đoạn code đảo ngược “nội dung” chuỗi như thế này
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
void dao(char *p)
{
if(p!=NULL)
{
dao(strtok(NULL," "));
cout << p << " ";
}
}
int main()
{
char a[] = "hello friend";
char* p = strtok(a," ");
dao(p);
}
code thì mình cũng hiểu được ở một phần là ở hàm strtok sẽ tách một đoạn trong chuỗi ra khi gặp dấu cách, nhưng còn ở phần đệ quy , nó hoạt động như thế nào ? , mình có chạy debug thử thì cũng hiểu một ít , đại khái là nó sẽ in ra từ friend trước rồi mới đến từ hello
, nhưng mình vẫn chưa hiểu lắm về cách mà hàm gọi lại, mong các bạn giải thích giúp mình , thank you 

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?