0
В следующей программе, почему ~a
напечатан на выходе как 10
? Почему не -11
?Оператор дополнения 1 в C
#include <stdio.h>
int main()
{
int a=10;
~a;
printf("complement : %d\n",a);
}
В следующей программе, почему ~a
напечатан на выходе как 10
? Почему не -11
?Оператор дополнения 1 в C
#include <stdio.h>
int main()
{
int a=10;
~a;
printf("complement : %d\n",a);
}
Поскольку вы не сохраняете результат операции дополнения в любом месте.
Если вы это сделаете, например,
a = ~a;
то вы должны получить другой результат.
Или вы могли бы просто напечатать результат операции:
printf("complement : %d\n", ~a);
Вам необходимо включить предупреждения компилятора. – Lundin