谁能看出来这个输出?

nicholasXXX 2007-04-24 06:50:56
unsigned arm = 1;
int i;
for (i=-arm;i<arm+1;i++)
{
cout<<i;
}
cout<<"end\n";
...全文
266 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
celftj 2007-04-25
  • 打赏
  • 举报
回复
我也试了下,我错了...
lili830209 2007-04-25
  • 打赏
  • 举报
回复
楼主是问为什么 循环没有执行............... 我也还是不理解
不同类型的混合表达式发生隐式类型转换
i<arm+1;
被转换为两无符号数比较。-1--〉0xFFFFFFFF
i<arm+1 i<0xffffffff+1 i<0 循环还是执行吧....

高手解答.....
fallwindlotus 2007-04-25
  • 打赏
  • 举报
回复
回复lili830209(D调的河马):
被转换为两无符号数比较。-1--〉0xFFFFFFFF
4294967295
i<arm+1 4294967295<2 能执行吗?
pigDeity 2007-04-24
  • 打赏
  • 举报
回复
不同类型的混合表达式发生隐式类型转换
i<arm+1;
被转换为两无符号数比较。-1--〉0xFFFFFFFF
正解!
wjfkog1985 2007-04-24
  • 打赏
  • 举报
回复
答案是 end.
但是为什么是这个答案呢?为什么循环没有执行?
如果该成
unsigned arm = 1;
int i;
for (i=arm;i<arm+1;i++)
{
cout<<i;
}
cout<<"end\n";
答案就会事正常的 1 end
望高手解答。
Fengalon 2007-04-24
  • 打赏
  • 举报
回复
是什么??
QQ_370566617 2007-04-24
  • 打赏
  • 举报
回复
隐式类型转换

unsinged和int一样长的
HewpKanXue 2007-04-24
  • 打赏
  • 举报
回复
试完查书已知:
不同类型的混合表达式发生隐式类型转换
i<arm+1;
被转换为两无符号数比较。-1--〉0xFFFFFFFF
结束。
小的细节有时候都没注意阿,看书不仔细。
hellox 2007-04-24
  • 打赏
  • 举报
回复
end
mymtom 2007-04-24
  • 打赏
  • 举报
回复
没看出来,不过试出来了!
end
yuyunliuhen 2007-04-24
  • 打赏
  • 举报
回复
0000000000000000000000000...............
celftj 2007-04-24
  • 打赏
  • 举报
回复
-101
吧?
arm是unsigned不影响把-arm赋值给i

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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