我尝试在 for 循环中调用函数,但前提是它返回 false。该函数有时返回 true,有时返回 false。怎么可能实现呢?请帮我。谢谢你!
for (unsigned long long int i = data->start; i < data->end; i++) {
sprintf(password, "%09llu", i);
if (is_valid_password(password)) {
data->count++;
fprintf(file, "%s\n", password);
}
}
我希望有一个好的解决方案,但我不介意它是否有点奇怪。我需要过滤生成的数字,例如 10101010 或 1234567890。如果该数字没有明显的模式,它将被视为有效,因此 funktion 返回 false,如果有模式,它将返回 true。我只想在有好的密码的情况下调用函数
如果我理解正确的话,那么你所需要的就是“!”之前
is_valid_password(password)
“!”表示“不是”并反转布尔结果。
所以,这应该有效:
for (unsigned long long int i = data->start; i < data->end; i++) {
sprintf(password, "%09llu", i);
if (!(is_valid_password(password))) {
data->count++;
fprintf(file, "%s\n", password);
}
}