我有2个关于该代码的问题:
char* word="Hello World";
word[0]='a';
printf("%s",word);
Run Code Online (Sandbox Code Playgroud)
我知道当你创建这样的字符串时,你不能更改字符串,因为它是一个常量字符串,所以我不明白为什么我可以运行这段代码并且没有任何错误(我使用代码块C99)?另一个奇怪的事情是,这个词并没有真正改变,printf仍在打印:"Hello World".
当您尝试修改字符串文字时,它会调用未定义的行为.结果可能是预期的或意外的.无论是将打印Hello World或aello World或者也可以打印什么.您可能会遇到分段错误或任何意外行为.
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |