所以我有这段代码。 我理解了循环实际上何时再次发生的所有事情。我的意思是e(!valid)语句的含义。它是指它的数值还是什么?有人可以向我解释一下。考虑声明的所有必需变量。并忽略大写。 代码是:
do
{
valid=1;
gotoxy(22,7);
gets(emailid);
int flag=0;
for (int i = 0; emailid[i] != '\0'; i++)
if (emailid[i] == '@')
flag++;
If(!flag)
{
valid = 0;
cout << "not a valid id. Try again";
getch();
}
} while(!valid);
所以主要是我想知道它是有效的,重点是什么呢!有效和失败意味着什么。 从我能得到的,它与它的数值有关,但我仍然感到困惑。
答案 0 :(得分:3)
回答这个问题:
} while (!valid);
表示:将valid
后面的整数视为布尔值。 (假设它是一个整数,因为它的值为1)
i == 0 -> false
i != 0 -> true
!有效的:
valid == 0 -> true
valid != 0 -> false
答案 1 :(得分:2)
在C ++中,值0被视为“false”,任何其他整数被视为“true”。在这种情况下,当valid等于0时,循环运行。
答案 2 :(得分:2)
可以通过这种方式将数字值提升为bool
类型:
零表示false
,其他值表示true
。因此!valid
仅在valid == 0
时才会返回true。
这意味着,do while()
循环会重复,直到valid
等于0
以外的值。