[英]Trouble with If Statement Inside For Loop
因此,我嘗試使用此代碼來打印一條語句,如果該語句到達循環的末尾而又沒有在該語句之前被中斷的情況下調用它,則這意味着該程序已找到匹配項,然后需要將其打印出來。 但是,我的if(k + 1 ...)語句永遠不會跳轉到總是跳過的地方。 為什么會這樣呢?
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;
}
}
}
}
if (look[k] = '?')
始終為true(因為它是賦值),這意味着始終執行繼續。 你可能是說
if (look[k] == '?')
比較一下
=
運算符用於賦值
==
運算符是有條件的
所以它一定是這樣的:
if (look[k] == '?')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.