#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. И, пожалуйста, объясните мне разницу между операторами «не» и «отрицание». Когда я когда-либо пишу программу, они становились источником ошибок.
while(i)
Я знаю, что условие цикла будет истинным для положительных и отрицательных i, кроме 0.
while(!i) vs while(~i)
Для каких значений «i» выполняются два вышеуказанных цикла?