1 << i
, даже если i - long long не работает. Потому что 1 имеет тип int. 1ull << i
сработает. =
. Это то, что делает функция swap
. Поэтому вам надо увеличивать счетчик на 1 в этой функции и больше нигде него не трогать. printf("0 0 0 1");
тоже выводит это, но там все нормально. Сложно сказать текст ошибки