这段程序为什么输出这样的结果?

jackdalsen 2009-05-18 07:26:06
#include <stdio.h>

main(){
int f = 999999999;
printf(" %lu \n",f);
}

输出是10000,谁解释一下
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
langkejx 2009-05-18
  • 打赏
  • 举报
回复
溢出了,32位cpu没有该问题
smart_fish8 2009-05-18
  • 打赏
  • 举报
回复
很明显是 溢出了吗??
码侬 2009-05-18
  • 打赏
  • 举报
回复
我试了,32位,没问题。
datacode 2009-05-18
  • 打赏
  • 举报
回复
16位的cpu嘛
jb372901 2009-05-18
  • 打赏
  • 举报
回复
很明显是 溢出了吗??
dceacho 2009-05-18
  • 打赏
  • 举报
回复
把F改成LONG
long f=999999999
  • 打赏
  • 举报
回复
溢出了
nadoo 2009-05-18
  • 打赏
  • 举报
回复
刚测试了,输出999999999,你的环境不是32位的吧。
jixingzhong 2009-05-18
  • 打赏
  • 举报
回复
16位环境下,由于访问了超过变量空间的地址,内容随机,结果不可预知
jackdalsen 2009-05-18
  • 打赏
  • 举报
回复
你试一下,看是不是10000,如果是,那说明你错了。
老邓 2009-05-18
  • 打赏
  • 举报
回复
溢出了,结果不确定!

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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