почему мой код выводит неправильное значение? - PullRequest
0 голосов
/ 22 января 2020

это мой код в C: -

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a=300, b, c;
    if(a>=400)
        b=300;
    c=200;
    printf("%c %d\n", b, c);
    return 0;
}

он возвращает значение 57 200. которое даже не представляет значения ascii. что происходит

Ответы [ 2 ]

4 голосов
/ 22 января 2020

Вы не инициализируете b. Это приводит к тому, что ваш код имеет неопределенное поведение .

0 голосов
/ 27 января 2020

это был вопрос в одной из книг для начинающих, и он должен был предсказать результат. да, он не инициализирует b, поэтому он выводит значение мусора, которое в случае моего тестирования показывало 57 (значение мусора)

...