나는이 C++ 프로그램을 작성했으며, 왜 cout
세 번째 문구에 1
이 인쇄되어 있는지 이해할 수 없다.bool = true 일 때 보완 연산자가 작동하지 않는 이유는 무엇입니까?
#include<iostream>
using namespace std;
int main()
{
bool b = false;
cout << b << "\n"; // Print 0
b = ~b;
cout << b << "\n"; // Print 1
b = ~b;
cout << b << "\n"; // Print 1 **Why?**
return 0;
}
출력 :
0
1
1
는 당신은 아마이 작업을 수행 할 수
0
1
0
왜 누군가가 투표를 종료하는지 알지 못합니다. – vikiiii
+1 @vikiiii - 유감스럽게도, downvoting과 투표 마감은 stackexchange의 약점이며 익명으로 발생하기 때문에 믿습니다. – Sabuncu
그래서 기본적으로 잘못된 연산자를 사용하여 왜 예상하지 못했는지 궁금합니다. – szx