token = strtok(NULL, ","); 代码中第一个参数NULL的作用,如果第一个参数不为NULL会怎样?给出示例。
时间: 2024-05-15 22:15:17 浏览: 253
C语言strtok函数用法
第一个参数NULL表示继续从上一次调用strtok函数的位置开始查找分隔符,也就是说,它会记住上一次查找结束时的位置,并从那里开始查找。如果第一个参数不为NULL,那么strtok将从该参数指定的位置开始查找分隔符。
示例:
```
char str[] = "apple,banana,orange";
char *token = strtok(str, ",");
printf("%s\n", token); // 输出:apple
token = strtok(token+strlen(token)+1, ",");
printf("%s\n", token); // 输出:banana
```
在上面的示例中,第一次调用strtok函数时,第一个参数为字符串指针str,因此从字符串的开头开始查找分隔符","。第二次调用strtok函数时,第一个参数为token+strlen(token)+1,也就是从上一次查找结束后的下一个位置开始查找分隔符。如果第一个参数不为NULL,那么第二次调用strtok函数就会从第一个逗号后的位置开始查找,而不是从第一个逗号后的下一个位置开始查找。
阅读全文