我试图编译一个非常简单的程序,它将字符串文字的基址存储在char p指针中,然后使用指针p打印字符串如下:
#include<stdio.h>
int main()
{
char *p = "hello";
printf("%s", p);
return 0;
}错误地,我用.C扩展名而不是.c扩展名保存了文件,我发现当我使用.C扩展名编译时,还有一个额外的警告:
deprecated conversion from string constant to ‘char*’当我用.c扩展编译程序时,它不在那里,我使用的是代码::块16.01。这里到底发生了什么?
发布于 2018-08-12 10:27:52
显然,您的编译器通常将.C文件作为C++源来处理,在这里,这种转换是真正不受欢迎的。如果将它重命名为.cpp,那么编译器输出可能保持不变。
https://stackoverflow.com/questions/51807940
复制相似问题