.c 扩展名与 .C 扩展名
.c extension vs .C extension
我试图编译一个非常简单的程序,它将字符串文字的基地址存储在指向 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
扩展编译程序时不存在,我使用的是 Code::Blocks 16.01。这里到底发生了什么?
显然,您的编译器通常将 .C 文件视为 C++ 源代码,这种转换确实已被弃用。如果您将其重命名为 .cpp,那么编译器输出可能会保持不变。
我试图编译一个非常简单的程序,它将字符串文字的基地址存储在指向 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
扩展编译程序时不存在,我使用的是 Code::Blocks 16.01。这里到底发生了什么?
显然,您的编译器通常将 .C 文件视为 C++ 源代码,这种转换确实已被弃用。如果您将其重命名为 .cpp,那么编译器输出可能会保持不变。