C++中的全局变量问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:31:26
int BREAK=0;
while (bMore)
{
if(~~)
BREAK=1;
bMore = Next();
}
if(!BREAK)
~~~~;

我的本意是想让 在while中的循环成立之后 是BREAK==1,然后用获得的值在循环外判断是否等于1,不等于1则执行下面的。

问题就在每次执行的时候,最后面的BREAK 仍然是 最前面定义的全局变量。

如何让前面和后面的变量都一样使用呢。
BOOL bMore=::Process32First(THandle,&pe32);
int BREAK=0;
while (bMore)
{
if(pe32.szExeFile=="mplayerc.exe")
{BREAK=1;break;}
bMore = ::Process32Next(THandle,&pe32);
}
if(!BREAK)
ShellExecute(NULL,"open","E:\\mplayerc.exe","","",SW_SHOWMAXIMIZED);//启动MPC程序

你确定你的while(...){...}执行了吗?

全局变量是要定义在函数外部的!
如:
int BREAK=0;
void proc()
{
int bMore = 1; //bMore定义在哪里?
while (bMore)
{
if(~~)
BREAK=1;
bMore = Next();
}
if(!BREAK)
~~~~;
}

**pe32.szExeFile=="mplayerc.exe"?
你用的什么编译器?这个居然能用==?
不是应该用strcmp()吗?

建议把所有代码发上来,肯定是其他地方的问题。