打印
[应用相关]

修改代码片段的一些问题

[复制链接]
67|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OKAKAKO|  楼主 | 2024-8-31 16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

问:下面的代码段有错,你能指出来吗?

#include<stdio.h> 

int main(void)
{
    char *ptr = "Linux";
    *ptr = 'T';

    printf("\n [%s] \n", ptr);

    return 0;
}


答:这是因为,通过 * ptr = ‘T’,会改变内存中代码段
(只读代码)“Linux”的第一个字母。这个操作是无效的,
因此会造成segment-fault或者崩溃。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

1308

帖子

3

粉丝