【发布时间】:2014-09-18 09:35:44
【问题描述】:
我将此代码放在我的 C 编译器 (Dev Cpp) 上。
char *str = "SomeTHing";
for(int i = 0; str[i]; i++){
str[i] = tolower(str[i]);
}
这会导致分段错误,而如果我使用静态数组,
char str[10] = "SomeTHing";
循环工作正常。谁能说出为什么会这样?
【问题讨论】:
-
不用
tolower也可以复制。争取一个最小的例子。 -
动态数组在哪里!