0 点赞 评论 收藏
分享
星语心愉:【问题解决】
某大神说:假设size=10,那么char **strNumbers=(char**)(new
int[size]),strNumbers指向分配区域大小为10*4=40。如果地址值是32位,这个strNumbers[i]读取正常;但是地址值是64位时,strNumber读到i=5时就会发生地址越界错误。内存地址是32位时,指针大小就是4个字节;内存地址是64位时,指针大小是8个字节。
而我的VS2013用的是win32控制台应用程序。
牛客网看来是64位的咯。
改成:char **strNumbers = (char**)(new long[size]);
或者:char **strNumbers=new char*[size];
或者:char* strNumbers[1000];
都可以通过。
不过,以后还是用string类型省心,指针太容易出错了。
投递牛客等公司10个岗位 >
0 点赞 评论 收藏
分享
沉溺学习不能自拔的小浣熊:同学你太不细心啦,17行的label写错了,42行的next写错了
这个函数名和结构体重复了。。查看图片
0 点赞 评论 收藏
分享
关注他的用户也关注了: