Also ich versuche, diesen Code zu verwenden, um eine Anweisung zu drucken, wenn es das Ende der Schleife erreicht, ohne Pause in der Anweisung davor aufgerufen wird, was bedeuten würde, dass das Programm eine Übereinstimmung und Dann muss es gedruckt werden. Allerdings wird mein if (k + 1 ...) Statement nie in immer übersprungen. Warum sollte das sein?Problem mit If Anweisung innerhalb For Schleife
else {
cout << "test" << endl;
looklen = look.length();
for (j = 0;j < numdist;j++) {
for (k = 0;k < looklen;k++) {
//cout << "test2" << endl;
if (look[k] = '?') {
k++;
continue;
}
else if (look[k] != distinct[j][k]) {
break;
}
if (k + 1 == looklen) {
cout << "test3" << endl;
cout << look << " : matches " << distinct[j] << " " << distinctnum[j]+1 << " time(s)." << endl;
}
}
}
}
Ihre 'if (look [k] = '?')' ist eine Zuweisung, kein Vergleich Ison. Sie müssen '==' verwenden, um zu vergleichen. – 1201ProgramAlarm