0 c
char * abc = "ABC";
int i;
printf("%s\n", abc);
for (i = 0; i < strlen(abc); i++)
{
abc[i] = tolower((int) abc[i]); //Error at this line
}
printf("%s\n", abc);
Run Code Online (Sandbox Code Playgroud)
我称之为tolower的行不执行?
char * abc = "ABC";定义了一个
在运行时无法更改的字符串文字.
使用char abc[] = "ABC";
编辑:也许你在某些情况下"可以"改变它,
但不保证任何东西.
它可能会起作用,可能会崩溃,
或者对您的程序执行其他奇怪的操作,
这些操作无法立即识别.