C++ true, falseの判定について
atcoderでこちらの問題を解いていました
AtCoderABC045B
他の方の書いているコードを見ているとこんな記述がありました
string a[5]に各人を、
int xにどのカードを持っているかを持たせていることは理解できました。
## 質問
while(a[p][x[p]]でループの判定を行っていますが、
これは文字列は存在する間はtrueで空文字の部分はfalseになるということなのでしょうか?
今まで1がtrue, 0がfalseと判定するという認識でやっていましたが、
こういったコードがどのような意図で書かれているのかわからないため、教えていただきたいです。
実装
c++
1int main() { 2 int x[5] = {}; 3 int p = 0; 4 string a[5]; 5 for(int i=0; i<3 i++) cin >> a[i]; 6 7 while(a[p][x[p]]) { 8 p = a[p][x[p]]-'a'; 9 x[p]++; 10 } 11 cout << char('A' + p) << endl; 12}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/16 13:35