首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ primer 中的习题,真的看不出来其中有什么东东

2012-02-11 
c++ primer 中的习题,真的看不出来其中有什么错误。类似地下面的小程序的行为是未定义的可能在运行时失败in

c++ primer 中的习题,真的看不出来其中有什么错误。
类似地下面的小程序的行为是未定义的可能在运行时失败
int   foobar(   int   *pi   )   {
*pi   =   1024;
return   *pi;
}
int   main()   {
int   *pi2   =   0;
int   ival   =   foobar(   pi2   );
return   0;
}
问题出在哪里怎样改正它?


[解决办法]
int *pi2 = 0;
等价于

int *pi2=NULL;

指针访问的时候要确保指针有地址

这样改:
int foobar( int *pi ) {
if (!pi)
return 0; // 或者其它...

*pi = 1024;
return *pi;
}
[解决办法]
VC6 编译通过

热点排行