可以这样在函数中的参数为char *p时,用p[n]这种形式修改p所指字符串的内容吗?

ShawFeld ShawFeld 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如果在外部 char *p="hello world"这样,我知道不能更改。
但是如果 char*p = str; str是一个数组字符串,这样行吗?
那在函数中想对参数char *p (指向字符串)进行修改,可以用p[n]吗?


我用printf试了一下,发现可以,但不知道这样做是否安全。或者有什么替代方法呢。



(背景:因为strncpy不能给des自动加'\0',所以我用strncpy中修改char *p中的内容,希望在最末尾的后一位加‘\0’)。

谢谢各位大神了。
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
ShawFeld
C语言 70,040 成员 243,237 内容