#include <stdio.h>
int main() {
const char a[99]="hello-hi";
printf("%s\n",a);
char *p=strtok(a,"-");
printf("%s",a);
return 0;
}产出:
hello-hi
hello为什么在这里修改a??我做得很好,但为什么要修改呢?
发布于 2021-09-07 18:11:28
,为什么在这里修改a??
strtok修改字符串。修改const对象会导致未定义的行为。示例程序的行为未定义。
实际上,const数组不会转换为指向非const的指针(没有强制转换),因此程序的格式不正确。
其他问题:
不包括声明strtok.
int main()在C.中不符合标准的标题。
https://stackoverflow.com/questions/69092765
复制相似问题