找回密码
 注册
搜索
查看: 656|回复: 6

[讨论] 偶然读文档碰到的问题

[复制链接]
发表于 2009-12-15 21:51:47 | 显示全部楼层 |阅读模式
In the code:

   while(expression)
   {
       int v = 33;
       char str[20];
       ...
    }

so,will v be set to 33 in every loop?

文档中说答案是否定的。不理解为什么,请高手给予指点,感激不尽
发表于 2009-12-15 22:58:15 | 显示全部楼层
compile the code and then disassemble it,you'll find the answer.It's sure that you need to review the c programming language.
点评回复

使用道具 举报

发表于 2009-12-16 09:46:36 | 显示全部楼层
哈哈!这个呢?

for (i = 0; i < 10; i++)
{
    static int j = k;
}

so,will j be set to k in every loop?
点评回复

使用道具 举报

发表于 2009-12-16 16:43:27 | 显示全部楼层
编译器优化
点评回复

使用道具 举报

 楼主| 发表于 2009-12-16 22:41:39 | 显示全部楼层
以下是引用dollfacedboy在2009-12-15 22:58:15的发言:
compile the code and then disassemble it,you'll find the answer.It's sure that you need to review the c programming language.


vc里面跟过,int v = 33; 这句汇编级每次都是会move的啊
点评回复

使用道具 举报

 楼主| 发表于 2009-12-16 22:42:33 | 显示全部楼层
以下是引用bosser在2009-12-16 9:46:36的发言:
哈哈!这个呢?

for (i = 0; i < 10; i++)
{
                                static int j = k;
}

so,will j be set to k in every loop?


不懂,还请高人继续指点,谢谢
点评回复

使用道具 举报

发表于 2009-12-17 09:10:27 | 显示全部楼层
嘿嘿,搞错了!应该是这个例子:
for (i = 0; i < 10; i++)
{
    static int j = 32;
    j++; //==> so,will j be set to 33 in every loop?
}

so,will j be set to 33 in every loop?


[em16][em16][em16][em16][em16][em16][em16][em16][em16]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-1-6 18:48 , Processed in 0.046246 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表