如何仅显示一次消息?

问题描述 投票:0回答:1

我有2个结构数组。我需要检查每个buff数组的速度,如果找到匹配项,我将中断整个循环,并输出消息“找到匹配项”,然后退出。否则,将输出“不匹配”。

如何将两个阵列相互检查后如何仅显示一次消息?我需要在比赛后突围。否则输出不匹配。输出被多次显示。

for (int g = 0; g < lines; g++) {
    for (int y = 0; y < lines; y++) {
        if ((strstr(tempo[g], buff[y])) != NULL) //Cheking if enter username and Password Exist in record file.
        {
            printf("A match found on line");
            break;

        } else
        {
            printf("Mismatch in Username or Password");
        }
    }
}
c arrays loops multidimensional-array nested
1个回答
0
投票

使用变量found作为标志来指示何时找到匹配项。您可以使用该变量和break(如果将其设置为1)进行测试。

然后将print移动到循环之外,并使用该标志确定要打印的内容。

int found = 0;
for (int g = 0; g < lines; g++) {
    for (int y = 0; y < lines; y++) {
        if ((strstr(tempo[g], buff[y])) != NULL) {
            found = 1;
            break;
        }
    }
    if (found) {
        break;
    }
}

if (found) //Cheking if enter username and Password Exist in record file.
{
    printf("A match found on line");
} else
{
    printf("Mismatch in Username or Password");
}
© www.soinside.com 2019 - 2024. All rights reserved.