Почему при выполнении данного кода выполняются оба условия? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте!!! подскажите знающие люди почему при выполнении данного кода выполняются оба условия. при grade =='7' программа выполняет как истинное действие так и ложное...
#include<stdio.h>
#pragma warning (disable:4996)
 
int main(void)
 
{
    char grade;
 
    unsigned int a_Count = 0;
    unsigned int b_Count = 0;
    unsigned int c_Count = 0;
    unsigned int d_Count = 0;
    unsigned int f_Count = 0;

        while ((grade = getchar())!= EOF)
        {
                                                                   //printf("%c\n", grade);
                
            if ( grade =='7')
            {
                a_Count++;
                printf("%c\n", grade);
                                                                //grade = 0;
                                                    //continue;
            }
 
            else
            { 
 
            printf("%s\n","ne tot simvol");
 
            }
            
                                                            //printf("%c\n", grade);
        
            }
 
        printf("a: %d\n", a_Count);
        printf("b: %d\n", b_Count);
        printf("c: %d\n", c_Count);
        printf("d: %d\n", d_Count);
        printf("f: %d\n", f_Count);
 
        getch();

    }

Решение задачи: «Почему при выполнении данного кода выполняются оба условия?»

textual
Листинг программы
else if (grade != '\n')

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы