我正在使用字符串。
每当我执行下面的程序时,我得到一个错误,因为在字符串 char *p = "hello"
c *中 , 从字符串常量到’char ‘的弃用转换
我究竟做错了什么?
这个错误是什么意思?我怎么能纠正它?
我的代码是:
#include int main() { char *p = "hello"; printf("%s",p+1); return 0; }
这应该是一个警告(尽管您可能已将编译器设置为将警告视为错误,这通常是一个好主意)。
你想要的是: char const *p = "hello";
代替。
尝试修改字符串文字会产生未定义的行为。 const
阻止您意外地执行此操作(即,尝试通过指针写入的代码将无法编译,除非您删除const
限定符,例如使用强制转换)。
这是一个警告,因为“Hello”字符串是一个常量,并且您尝试将其存储在非const char *中。 解决问题要么成功
const char* p = "Hello"
或char[] p = "Hello"
以上就是c/c++开发分享在c 中不推荐将字符串常量转换为’char *’相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/562818.html