局部变量的作用域

导航

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

公告

我的邮件:

留言簿(7)

随笔分类

随笔档案

文章档案

我的链接

搜索

最新评论

阅读排行榜

评论排行榜

再记自己的两个常识性错误

1. WSAStartup只要每个进程调用一次就行了
    不知为什么, 几年以来,我一直认为要为每个使用网络的线程调一次. 直到今天才发现弄错了, 按说我一直是仔细阅读msdn的, 唉! 不过为每个线程调一次只是多余的, 并不是错误的, 也许这就是我一直没有注意到它的原因吧.
2. do while循环中的continue会跳到哪里

do {
   
// ①
   i++;
   
continue;
   
// ②
}
 while( i < 10 );

    一直认为是①, 今天正在写的程序出错了才发现是②. 老天保佑以前的程序不出错吧. 这个错误一直没发现的原因有两点,一是我用do while循环比较少, 里面有continue的更少; 二是自己偷懒了, 想当然了, 其实以前怀疑过它的结果的, 但觉得①更符合逻辑就没有深究.

    犯了错误总是比较郁闷的, 不过能在一个上午认识到这样两个错误,也算收获不小了。

posted on 2008-01-08 11:58 局部变量 阅读(3885) 评论(8)  编辑 收藏

评论

# re: 再记自己的两个常识性错误 2008-01-08 15:51 周星星

do ① {
……
} ② while(……);

# to **: 2008-01-08 16:41 局部变量

你的更准确点,不过大家知道意思就行了,不改了

# re: 再记自己的两个常识性错误 2008-01-09 14:17 hatemath

友情路过。
第二点你要是不说我还真不知道,嘿嘿

# re: 再记自己的两个常识性错误 2008-01-15 15:57 100000

不是吧?
do {
    cout <<"1" << endl;
i++;
    continue;
cout <<"2" << endl;
system("pause");
   
  } while( i < 10 );输出的全是 1 啊。

# to 100000 2008-01-16 11:17 局部变量

你觉得应该是什么?
你得到的结果和我说的根本就不矛盾呀。

# re: 再记自己的两个常识性错误 2008-01-21 09:20 h

应该说是 continue 忽略下面的语句,直接跳到条件判断处。这些与 for 循环等是一致的。

# re: 再记自己的两个常识性错误 2009-04-19 14:21 hello

你的描述确实有误

# re: 再记自己的两个常识性错误 2009-12-03 10:58 无名

确实,试了下,第一个留言才对的

你这样描述我第一反应就是continue没用,因为你把@2放在continue后面了

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]