导读 c99中函数定义是:char * strtok(char * restrict s1, const char * restrict s2);你所谓的那句话有可能是指不可用char *,因为...
c99中函数定义是:char * strtok(char * restrict s1, const char * restrict s2);你所谓的那句话有可能是指不可用char *,因为这里定义必须是const char *,而char[]因为数组的特性,其引用相当于const char *比如你定义char str[20];char *p;那么p++是有效的,指针引用地址改变了。
str++或是无效的,变相等于了const char *2、首次完成对字符串分割后,分隔符会被变成空格,此时如果将第一个参数置NULL即会按顺序返回每个子字符串,每调用一次返回一个,所以token会改变。
当后面不再有子字符串了,就会返回NULL补充:对,除非你给出的第一个参数不是NULL,这样他会重新开始。