#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i=-5;
while(~(i))
{
cout<<i;
++i;
}
}
出力は-5、-4、-3、-2です。-1まで値を出力するべきではありませんか?なぜ-2までしか出力しないのですか?また、「not」演算子と「negation」演算子の違いを説明してください。プログラムを作成するときは常に、バグの原因でした。
while(i)
ループ条件は、0を除く正と負のiに対して真になることを知っています。
while(!i) vs while(~i)
上記の2つのループは、「i」のどの値に対して実行されますか?