我得到以下代码:
const char *newLine = "\n";
printf('Content: %c\n', *newLine);
现在发生的是内存错误。
为什么会这样呢?
代码由于内存错误(分段错误)而崩溃,因为printf
期望以空字符结尾的字符串作为第一个参数(即指向某些以零字节结尾的字符的有效地址),但是您正在向其传递(有效的随机数)整数这不是有效的地址(除非您非常非常幸运:-)。
正如人们评论的那样,使用双引号将编译器分配的实际字符串传递到某个地方:
const char *newLine = "\n";
printf("Content: %c\n", *newLine);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句