重複の可能性:
C の二重否定: 0/1 を返すことが保証されていますか?
int main(void)
{
int i = 2, j = 1;
printf("%d", !!i +!j);
return 0;
}
私が理解していることから、!! 式をブール値に変換します。つまり、i が 2 に等しくないため、値は 0 + j であり、1 に等しくないため、値は 0 であり、0 は false に等しいため、次のように読み取ります: false + false = true 1 の値を表します。C プログラミングが初めてなので助けてください。