【发布时间】:2018-03-17 05:51:59
【问题描述】:
我是 c 新手,我试图做一些简单的事情来了解字符串和字符数组,但我被困在这部分代码中。
const char *words(int count) {
char *words = "words";
if(count==1) {
words[strlen(words)-1] = '\0';// segmentation fault
}
return words;
}
它的作用是在 count 等于 1 时返回 word,否则返回 word。 我的问题是为什么这行代码有问题,为什么我不能将字符串视为 char 的数组
words[strlen(words)-1] = '\0';
我尝试以不同的方式声明字符串(字符数组),例如char *words = {'w','o','r','d','s'};
但我仍然遇到分段错误。
【问题讨论】:
标签: c arrays string segmentation-fault