Tag: 变量初始化

为什么执行无效指针初始化的程序在C中编译得很好?

我编写了一个简单的C程序,我希望它在编译时会失败,但遗憾的是它在C中编译并运行良好,但在C ++中编译失败。 考虑以下计划: #include int main() { char *c=333; int *i=333; long *l=333; float *f=333; double *d=333; printf(“c = %u, c+1 = %u”,c,c+1); return 0; } 访问此链接: http : //ideone.com/vnKZnx 我认为由于C ++的强类型检查,这个程序肯定无法在C ++中编译。 为什么这个程序用C编译? 事实上,编译器也会显示警告。 我正在使用Orwell Dev C ++ IDE(gcc 4.8.1编译器)。 我也在其他编译器(Borland Turbo C ++ 4.5)上尝试了相同的程序,通过扩展名.c保存它,并且在这个编译器上它无法编译。