c编程,以下程序在dev c++4.9.9.2中可以运行,但是在turbo c++3.0中不可以,为什么?

2024-12-22 10:29:06
推荐回答(1个)
回答1:

根据楼主的题目我自己调试了哈:
VC++6.0:
1245048 1 1245048
#include
void main()
{ int a[2]={1,2};
int * num[2]={&a[0],&a[2]};/*换成&a[1],可能是因为C++编译器不对边界进行检查*/
printf("%d %d %d",num[0],*num[0],&a[0]);
}
WinTC:
-62 1 -62 /*指针值溢出了*/
#include
void main()
{
int a[2]={1,2};
int * num[2];/*可能不支持{}的赋值方法*/
num[0]=&a[0];
num[1]=&a[1];
printf("%d %d %d",num[0],*num[0],&a[0]);
getch();
}