能力值:
( LV2,RANK:10 )
|
-
-
2 楼
这个不是 if(条件成立){执行代码} else {执行这里的代码} //这个else 后面怎么这个括号也这么多技巧滴呢?
|
能力值:
( LV12,RANK:1010 )
|
-
-
3 楼
因为程序在else的时候就直接break了,根本不会执行到SetEvent(g_Event);
而且你多加了个括号, 语法不规范,建议看看《编程高手箴言》之类的,或者参照MS的代码规范来coding
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢sudami 大大~ 但是...那没加括号它也进行否则了啊...
else //这个地方不是也否则了么? 只是else少了个{} 没关门他就可以跑到下面吗?
break; //否则不是也要跑到这个地方么?? 按道理说从这里已经出去了啊
SetEvent(g_Event); //这句真搞不懂是怎么执行到的...
DWORD WINAPI Func2Proc(
LPVOID lParametr
)
{
while(TRUE)
{
WaitForSingleObject(g_Event,INFINTTE);
if(NUM>0)
{
Sleep(1);
cout<<"Curr 2 num:"<<NUM--<<endl;
}
else{ 这个括号和下面一个括号没有就正常.
break;
SetEvent(g_Event);
} 这个和上面没有则正常
}
return 0;
}
if()
{}
else {}
和 if(){} else ...
他们为什么不同哦~~~
|
能力值:
( LV12,RANK:1010 )
|
-
-
5 楼
你没有搞清楚。这个和if语句无关。
当Num为负时,就调用SetEvent(g_Event);来唤醒线程。
你说没有那对{}就正常,那是显然的。
你把break去掉就可以了。
还有, 属于else的,在它下面若只有一句code,可以不加括号,若 >= 2 语句,就必须加 {}.-------------------------------------
C语言的基本概念....
看来LZ得加油了~
|
能力值:
( LV15,RANK:2473 )
|
-
-
6 楼
向楼上学习,我也不懂基本概念
所以我是不管几行,包括空的都加{}
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢 stdami 大大的指点~~ 原来不与if关联的哦~~
while(TRUE)
{
WaitForSingleObject(g_Event,INFINITE);
if(NUM>0)
{
Sleep(1);
cout<<"Curr 1 num:"<<NUM--<<endl;
}else{
break;
}
SetEvent(g_Event);
明白了...收获不小~~~非常谢谢~
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
很简单,把那2条语句换成2个MESSAGEBOX 然后去括号和加括号就知道执行哪些语句了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
谢谢~~ else 后面只能跟一句~ 是我括号打错了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
还有break语句的作用,看来你也不明白
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
跳出当前循环~ 晕 望楼上大大指教~ 谢谢
|
|
|