2016-10-15 2 views
-4

Im начинающий программист. При выполнении программ происходит повторяющаяся ошибка. Отображаемый результат неправильный или странный. пример для этой программы:неправильный вывод в c для простых программ

#include<stdio.h> 

int main() 
{ 

    int age; 

    age=969; 

    printf("Methuselah was %d years old\n"); 

    return(0); 
} 

Выход я получаю 4199232

Как это исправить? Я использую Quincy 2005

+1

'Е («Мафусаил был% г лет \ п», возраст);' – BLUEPIXY

+0

#include (ошибка вывода не связана с этим, но это ошибка в любом случае) –

+1

Ваш компилятор должен выплевывать кипы предупреждений на тебя. Всегда компилируйте с включенными предупреждениями (например, '-Wall -Wextra' как минимум) и *** никогда, никогда не принимайте код, который компилируется с любыми предупреждениями (например, исправляйте их и перекомпилируйте до тех пор, пока не выдадут никаких предупреждений) Если вы хотите затянуть еще больше, добавьте '-pedantic', чтобы еще больше повысить уровень предупреждения. Если вы научитесь писать C с помощью '-Wall -Wextra -pedantic' как части вашей обычной строки компиляции, вы будете учиться намного быстрее и быть таким лучшим программистом для этого. –

ответ

0

Вы не сказали printf каких переменных для печати. Для этого передайте age в качестве аргумента.

#include <stdio.h> 

int main(void) 
{ 
    int age; 
    age = 969; 
    printf("Methuselah was %d years old\n", age); 
    return 0; 
} 

Вызов printf("%d") без указания аргумента вызывает случайное значение в стеке должны быть напечатаны, давая странные выходы.

4

Вы не указали, какая переменная соответствует %d в вашей строке формата.
Эта линия должна быть, вероятно,

printf("Methuselah was %d years old\n", age); 
Смежные вопросы