社区
C++ 语言
帖子详情
一道找错考题,大家找找看
sede
2004-08-31 09:55:25
请指出该程序的错误。
#include <iostream.h>
int *p;
void Function();
{
int n;
n = 25;
p = &n;
}
void main()
{
Function();
cout<<"value of *p: "<<*p<<endl;
}
...全文
200
16
打赏
收藏
一道找错考题,大家找找看
请指出该程序的错误。 #include int *p; void Function(); { int n; n = 25; p = &n; } void main() { Function(); cout<<"value of *p: "<<*p<<endl; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kolecat
2004-08-31
打赏
举报
回复
厉害,学到东西了,不枉看帖子
insulator
2004-08-31
打赏
举报
回复
To: heksn(佳宁)
你的方法也不对吧,和他原来的错误差不多
返回的指针和引用都不能指向一个局部变量。
yujinchi
2004-08-31
打赏
举报
回复
i agree heksn
simonjp
2004-08-31
打赏
举报
回复
void Function();这里也有问题
FrankZhang123
2004-08-31
打赏
举报
回复
这个函数跟原来的函数实现的功能一样,出的错误也一样。n是局部变量,出了函数作用域,就没有意义了,即使p=&n,则p指向一个没有定义的地址,这个引用仍然是不正确的
snow810211
2004-08-31
打赏
举报
回复
同意~~
写不动代码的人
2004-08-31
打赏
举报
回复
#include <iostream.h>
int *p;
int& Function()
{
int n=25;
p=&n;
return *p;
}
void main()
{
Function();
cout<<"value of *p: "<<*p<<endl;
}
写不动代码的人
2004-08-31
打赏
举报
回复
n是局部变量不能把它的地址赋予全局指针
wgsspank
2004-08-31
打赏
举报
回复
在Function 中的int n 是个local variable,在Function 退出时将释放n,p虽然得到了n的指针,但是Function 返回时&n 将是无效的,有时可能输出正确,但是还是不要返回一个local variable 的指针为好!
DiabloWalkOnTheEarth
2004-08-31
打赏
举报
回复
分都不给,过分
sunshine_81
2004-08-31
打赏
举报
回复
1、
#include <iostream.h>
int *p;
void Function()
{
int n;
n = 25;
*p = n;//改一下这应该可以
}
void main()
{
Function();
cout<<"value of *p: "<<*p<<endl;
}
2、
#include <iostream.h>
int *p;
int Function()
{
int n;
n = 25;
return n;
}
void main()
{
*p=Function();
cout<<"value of *p: "<<*p<<endl;
}
没编译过,不知能否正常运行?
jk01dingxian
2004-08-31
打赏
举报
回复
void Function();
{
int n;
n = 25;
p = &n;
}
括号后不应该有;,这是一个错误,还有不应该不一个局部变量的地址付给一个全局指针变量,局部变量在它生命周期结束就消亡了,此时全局指针仍然指向原来的地址,但真正的值可能是原来局部变量的值,可能是未知的,谁也无法确定,(当你的程序很大的时候绝对是未知的),这就是一个错误.
lrqhaier
2004-08-31
打赏
举报
回复
厉害,学到东西了,不枉看帖子~~~
comebaby
2004-08-31
打赏
举报
回复
刚才试了一下,发现结果确实是25。要不是局部变量还没有被释放吧??
comebaby
2004-08-31
打赏
举报
回复
n是局部变量,p指向&n,在函数执行完,&n应该是无法预料的吧
zchuer
2004-08-31
打赏
举报
回复
Function()函数定义后面多了一个分号,别的没什么错误
把局部变量的地址赋给一个全局指针,不是不可以,但是不鼓励这样做。在这个程序中这么写没有问题,如果实比较复杂的程序,可能最终得到的*p值和期待值不一样。
网络工程师2021年11月考试试题分析
本课程依据2021年11月的网络工程师考试试题分析进行展开,详细分析了本次考试的上午一、下午一所有
考题
。 注:本视频不提供任何资料下载。
计算机软件水平考试都是选择题吗,计算机软考选择题多少分
一道
?
计算机软考上午考试的题型为选择题,选择题通常是1分
一道
,共计75道选择题。近几年软考各级别资格上午考试科目的合格标准基本上稳定在45分及格,也就说如果按照这个分数线考生想要及格的话需要答对45道以上选择题。...
某程序员去华为面试,因为错了
一道
题而被淘汰
有
一道
数学的逻辑题,这种提一般智商测试或者公务员考试中经常见到,传说华为有道面试题是这样的,求出下划线的数字应该是多少?请准备好纸和笔,思考10分钟,看看你能否得出正确答案。1分钟后。。。2分钟后。。。3...
一道
题错多遍?错题有可能就是你考场丢分的题!
在做数学题的过程,做错题是非常常见的。一些同学做错一次就不会再犯,但一些同学做错一次,下次又错了。这就说明复习方法不对,没有正确对待错题,没有好好地总结分析。今天就告诉大家遇到错题应该怎...
2020计算机二级c语言答案,2020年全国计算机二级C语言考试试题分析
《2020年全国计算机二级C语言考试试题分析》由会员分享,可在线阅读,更多相关《2020年全国计算机二级C语言考试试题分析(5页珍藏版)》请在人人文库网上搜索。1、XX 年全国计算机二级 C 语言考试试题分析 二级考试是...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章