一个让我晕的小小 for循环

wishstudying 2009-03-01 12:07:50
[code=C/C++]
int aa =1;
int bb =2;
int cc =4;

for (int cnt=0; cnt < 5; cnt++)
if (aa==2)

if (cc == 4)
break;

if (bb ==3) {
MessageBox(_T("bb ==3"));
}
else cc = 100;
code]


这是一段开源程序的风格, 都不加大括号 ,晕了都。


大家说 运行完 变量 cc 值 是多少? 我调了一下,得到了规律,但不太明白。 如果把for 和if 都加上大括号改写这段,大家怎么改? 在线讨论
...全文
315 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinggyu 2009-03-03
  • 打赏
  • 举报
回复
楼主别逗了,啥项目,这样写代码。
yupengchen951124 2009-03-03
  • 打赏
  • 举报
回复
int aa =1;
int bb =2;
int cc =4;

for (int cnt=0; cnt < 5; cnt++)

if (aa==2)
if (cc == 4)
break;

if (bb ==3) {
MessageBox(_T("bb ==3"));
}
else cc = 100;


Laura_li 2009-03-03
  • 打赏
  • 举报
回复
我觉得是100,应该不晕吧
terrywolf 2009-03-02
  • 打赏
  • 举报
回复
????
isaac0212 2009-03-02
  • 打赏
  • 举报
回复
cnt<5 & cnt<=4 效果是一样的啊,cc=100不很显然滴嘛,呵呵,晕啥?
terrywolf 2009-03-02
  • 打赏
  • 举报
回复
路过,帮顶!
skyygl 2009-03-02
  • 打赏
  • 举报
回复
100
楼主快结帖吧^-^
rgmlkthh 2009-03-02
  • 打赏
  • 举报
回复
循环都没多大用,就直接else了,100对的
wishstudying 2009-03-01
  • 打赏
  • 举报
回复
  int aa =1;
  int bb =2;
  int cc =4;

  for (int cnt=0; cnt < 5; cnt++)
  {
    if (aa==2)
      if (cc == 4)
        break;
  }

  if (bb ==3)
  {
    MessageBox(_T("bb ==3"));
  }
  else
  {
    cc = 100;
  }

对,,,这样是对的,我误会了,呆了都。。。。 在循环时 调试时每次也跑到 if (bb ==3),其实没执行它,直接返回,哈,。。。


wishstudying 2009-03-01
  • 打赏
  • 举报
回复
我问不对,应该是 cnt <= 4时 cc 的值是多少? 还是100吗? 那就不对了。
mabo321 2009-03-01
  • 打赏
  • 举报
回复
100
lq651659889 2009-03-01
  • 打赏
  • 举报
回复
M_S_D_N 2009-03-01
  • 打赏
  • 举报
回复

  int aa =1;
  int bb =2;
  int cc =4;

  for (int cnt=0; cnt < 5; cnt++)
  {
    if (aa==2)
      if (cc == 4)
        break;
  }

  if (bb ==3)
  {
    MessageBox(_T("bb ==3"));
  }
  else
  {
    cc = 100;
  }



cc = 100
zfvc1986911 2009-03-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
else cc = 100;
直接到这里啊,前面2个if都不满足,很晕吗?
[/Quote]
应该不太晕!
  • 打赏
  • 举报
回复
else cc = 100;
直接到这里啊,前面2个if都不满足,很晕吗?
zfvc1986911 2009-03-01
  • 打赏
  • 举报
回复
100
wishstudying 2009-03-01
  • 打赏
  • 举报
回复


int aa =1;
int bb =2;
int cc =4;

for (int cnt=0; cnt < 5; cnt++)

if (aa==2)
if (cc == 4)
break;

if (bb ==3) {
MessageBox(_T("bb ==3"));
}
else cc = 100;

xb254044992 2009-03-01
  • 打赏
  • 举报
回复
怎么看都是100啊
而且经过前几楼加过大括号之后
和那循环根本没什么关系啊
按着程序的执行顺序自己走一遍就知道了
yeah86 2009-03-01
  • 打赏
  • 举报
回复
100吧,这个不是很晕吧!!
yangch_nhcmo 2009-03-01
  • 打赏
  • 举报
回复
1. cc = 100

int aa = 1;
int bb = 2;
int cc = 4;

for (int cnt=0; cnt < 5; cnt++)
{
if (aa == 2)
{

if (cc == 4)
{
break;
}
}
}

if (bb == 3)
{
MessageBox(_T("bb == 3"));
}
else
{
cc = 100;
}



2.

struct MsgBuf
{
HostSub hostSub;
int version;
int portNo;
ULONG packetNo;
ULONG command;
int exOffset; // expand message offset in msgBuf int dummy; char msgBuf[MAX_UDPBUF];

// 初始化赋值
void Init(MsgBuf *org)
{
if (org == NULL)
{
memset(this, 0, (char *)&this->dummy - (char *)this);
*msgBuf = 0;
return;
}
memcpy(this, org, (char *)&this->dummy - (char *)this);
strcpy(this->msgBuf, org->msgBuf);
strcpy(this->msgBuf + exOffset, org->msgBuf + exOffset);
}
};


加载更多回复(16)

65,210

社区成员

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

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