高手帮我看看这道题。内容如下:

acechallenger 2003-08-24 07:06:38
main()
{printf(“%d,%d,%d\n”,10);}
(1)试着写出上述printf语句输出的结果;
(2)从运行环境和printf的实现分析为什么会有这样的输出结果。
我运行过程序,结果为“10,-22,285”,-22与285这两个数不是随机的,如果在printf语句前面加语句“int i=1,j=2;”输出结果为“10,1,2”,这与编译有关吗?请高手指点!!!
...全文
601 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2003-08-25
  • 打赏
  • 举报
回复

按照c的编译原理,printf传递的参数是放置在堆栈当中的,当你传递的参数少于指定的参数的时候,它还是会从堆栈当中寻找适合类型的数据来显示的,至于具体的数值,恐怕你要使用汇编一级的跟踪了,看看堆栈的内容。

研究这个问题,没有太大的实际意义。
WYlslrt 2003-08-24
  • 打赏
  • 举报
回复
我想应该与每一台电脑的配置有关系
WYlslrt 2003-08-24
  • 打赏
  • 举报
回复
我的是 10,-36,285

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧