30/09/2018, 16:24
Thắc mắc char*?
Khai báo const char* t = s + strlen(s) nghĩa là sao?
#include <iostream>
#include <cstring>
using namespace std;
int main() {
const char* s = "minh vu";
cout << s << endl;
const char* t = s + strlen(s); //Nghĩa là gì?
cout << t << endl;
return 0;
}
Bài liên quan
t là con trỏ của “const char” gán = s+ len (s) . Tức là trỏ đến kí tự ‘\0’ kết thúc chuỗi cua s. Vậy khi in nó sẽ duyệt từng kí tự bắt đầu từ t, khi gặp ‘\0’ nó dừng lại. Nên sẽ không in ra gì.
Chuẩn không cần chỉnh.
s đứng riêng một mình là con trỏ đến chuỗi s
khi mình + với một số, trong trường hợp này là chiều dài của s, thì tức là trỏ đến ký tự cuối của chuỗi, tức là ‘\0’