В таблице приоритетов операторов , !=
опережает =
.
Таким образом, строка ниже:
while(c = fgetc(dtzgr_0) != EOF)
эквивалентна:
while(c = (fgetc(dtzgr_0) != EOF))
Так что c
будет присвоено значение 0, если возвращено значение fgetc
это не EOF
.
Вы должны изменить вышеприведенную строку следующим образом:
while((c = fgetc(dtzgr_0)) != EOF)
Затем вам будет присвоено возвращаемое значение от fgetc
до c
и только тогдасравните это с EOF
.