Выход программы ниже 0, но почему?Почему вывод этой программы 0?
#include <stdio.h>
#include <conio.h>
int main()
{
int x=5;
printf("%d",x!=5);
getch();
}
Выход программы ниже 0, но почему?Почему вывод этой программы 0?
#include <stdio.h>
#include <conio.h>
int main()
{
int x=5;
printf("%d",x!=5);
getch();
}
False печатается как 0
.
x!=5
ложно, следовательно %d
напечатает 0
, если вы x==5
, он будет печатать 1
.
AFAIK, true ist определяется как «не ноль», большинство компиляторов будет печатать true как 1, но не гарантируется. true может быть любое число, кроме 0. – WoJo
Истина не обязательно 1. Она может быть обозначена любым ненулевым значением. –
'c11' действительно говорит, что это' 1'. От, http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf: раздел 6.5.9.3, '== (равно) и! = (Не равно) аналогичны реляционным операторам, за исключением их более низкого приоритета.) Каждый из операторов дает 1, если указанное отношение истинно и 0, если оно ложно. Результат имеет тип int. Для любой пары операндов истинно одно из отношений. – VoidPointer
хммм,! == странное oprator –
! == не является оператором, я сильно сомневаюсь, что ваш код имеет какой-либо вывод на всех. – LtWorf
Что такое '! =='? вы имели в виду '! ='? –