Напишите программу, печатающую значение EOF.
#include <stdio.h>
int main(void)
{
printf("Значение EOF: %d\n", EOF);
return 0;
}
#include <stdio.h>
int main(void)
{
printf("Значение EOF: %d\n", EOF);
return 0;
}
./a.out
Значение EOF: -1
вот тут не понял. в чем смысл выполнения этого задания. и когда будет равно 0
ОтветитьУдалитьпосмотреть значение EOF - оно может отличаться на разных машинах. Если нужно напечатать именно последовательность символов "-1", то это будет представлено двумя байтами - "-" и "1" - в ASCII это "00101101 00110001". EOF не входит в ASCII кодировку, поэтому представляется int-типом, равным значению "-1" (точное значение, опять же, зависит от компилятора и машины, для 16 бит в дополнительном коде это будет 11111111 11111110).
УдалитьЭтот комментарий был удален автором.
УдалитьА "когда будет равно 0" - это отсылка к предыдущему заданию? Там имеется в виду, что выражение (c != EOF) имеет значение 0, т.е. false, или 1, т.е. true. Если значение в 'c' не будет равно (!=) EOF, то тогда значение всего этого выражения будет единица (true), иначе - ноль.
УдалитьПрошу прощения, -1 в дополнительном коде (16 бит), конечно, равно 1111 1111 1111 1111
Удалить