現在C++を勉強中です。
下記のソースのように、""で囲った文字を判定部分に設定するとtrueとして判断されます。
これがどうしてそうなるのか、なぜデバッグが通るのかがよくわかりません。
これはなぜtrueになるのでしょうか?
また、文字列でなく'a'などに置き換えてもtrueとして実行されます。
C++
1#include <iostream> 2using namespace std; 3int main() { 4 cout << ("なんでこれでTRUEになるのかわからない" ? "hoge" : "hogehoge"); //実行結果:hoge 5}
何かしらのデータが存在していることで、1として判定されて、trueになるということでしょうか?
'/0'を置くと0扱いになってfalseになるのかなと試していたのですが、これもtrueになってしまい、もしかしたら根底からなにか勘違いしているのではないかと不安になり質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/07 09:38