显示指针减法

C. *_*sti 4 c pointers char sequence

好的,我说我有一个序列"abcdefg"

char* s = strdup("abcdefg");
char* p;
char* q;
p = strchr(s, 'c');// -> cdefg
q = strchr(p, 'd');// -> defg
Run Code Online (Sandbox Code Playgroud)

我想s - p基本上显示abcdefg - cdefg = ab,我可以使用指针算法吗?

M.M*_*M.M 7

你可以做:

printf("%.*s", (int)(p - s), s);
Run Code Online (Sandbox Code Playgroud)

打印s时的最大长度为to p - s的字符数.sp