社区
C语言
帖子详情
这是什么问题啊!
blldw
2001-07-14 10:59:23
#include<stdio.h>
int int_values[]={5,7,3,9,4};
void main()
{
int *ptr;
while(*ptr)
printf("%d\n",*(ptr++));
}
运行结果:
5
7
3
9
4
25637
10
请说明这是什么问题啊!
...全文
176
9
打赏
收藏
这是什么问题啊!
#include int int_values[]={5,7,3,9,4}; void main() { int *ptr; while(*ptr) printf("%d\n",*(ptr++)); } 运行结果: 5 7 3 9 4 25637 10 请说明这是什么问题啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blldw
2001-07-18
打赏
举报
回复
DDD
blldw
2001-07-17
打赏
举报
回复
寒鹏说的对,我丢了一行:int *ptr=int_values;
谢谢大家!
yug
2001-07-16
打赏
举报
回复
不可能嘛,ptr连初值都没有,怎么可能输出什么5,7,3,9,...,呵呵
程序可能是这样吧:#include<stdio.h>
int int_values[]={5,7,3,9,4};
void main()
{
int *ptr=int_value;
while(*ptr)
printf("%d\n",*(ptr++));
}
循环while(*ptr)printf("%d\n",*(ptr++));在*ptr=0时终止。
int_value后的内存空间里当然是一些乱七八糟的数了,只有碰巧遇到一个(int)0才会停下来。
程序可以这样改一下:
int int_values[]={5,7,3,9,4,0};
lxas
2001-07-16
打赏
举报
回复
这两个值是从随机地址中抽取的,也就是说是随机地址中所储存的值。也正如kmzwm(艾泥)所说当ptr指向的地址为0时循环停止。你的程序我运行的结果是:
767
1147
然后就停止循环了,也就是说在ptr找到这两个值的地址以后指向了0。所以循环停止。
blldw
2001-07-16
打赏
举报
回复
谢谢大家的回答
但是,正如lxas所说,如果ptr指向数组以外的范围,为什么回出现两个出乎意料的值呢?
Chice_wxg
2001-07-15
打赏
举报
回复
同意
Leemaasn
2001-07-15
打赏
举报
回复
up
kmzwm
2001-07-14
打赏
举报
回复
ptr必须指向明确的地址。此程序实际上输出的是一些随机数据。
当ptr指向的地址内容为0时,退出循环。如果你多运行几次程序,
每次结果都不一样。
lxas
2001-07-14
打赏
举报
回复
因为你的指针没有初始化,这样*ptr就随机的指向其他地址。如果这个地址已经有东西存放在里面就打印地址这个值。当*ptr不断加一,指向了数组范围以外所以打印一个25637。
可能解释得不是很对,大概就是这个意思吧!
QBQ!
问题
背后的
问题
本书《QBQ!
问题
背后的
问题
》介绍了一种简单的方法来提高个人责任意识并解决
问题
。通过改变提问的方式,从推诿、抱怨转变为积极寻找解决方案,帮助个人在工作和生活中做出更好的选择。
npm ERR! ERESOLVE could not resolve
问题
博客主要围绕npm ERR! ERESOLVE could not resolve
问题
的解决展开,聚焦于信息技术领域中前端开发使用npm时遇到的该
问题
。
MoveIt!机械臂控制——
问题
汇总及解决方案
本文详述了在使用ROS kinetic进行MoveIt!机械臂控制时遇到的
问题
,包括创建机械臂模型、启动MoveIt!、运行ArbotiX节点、工作空间规划、启动机器人仿真环境等步骤,并提供了相应的解决方案。例如,解决缺少joint_state_publisher包、无法启动MoveIt!、Gazebo仿真
问题
等。此外,还涉及了在个人工作空间中复制功能包时可能出现的编译错误及其修复方法。
关于DISCUZ!NT发布的
问题
整理!
本文详细介绍了Discuz!NT版本论坛的部署步骤及常见
问题
解决方案,包括用户权限设置、DNT.config文件配置、数据库连接调试、目录路径修正及编码
问题
处理。
Unbug项目中once!宏与ensure!宏的潜在执行顺序
问题
解析
本文解析了Unbug项目中once!宏与ensure!宏的潜在执行顺序
问题
。Unbug是用于辅助调试的Rust工具库,原始实现中两宏组合使用存在执行顺序
问题
,可能导致竞态条件。项目维护者通过修改将条件检查后置修复
问题
,还给出技术启示与最佳实践建议。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章