printf выводит странный результат

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Renvar, 14 Oct 2009.

  1. Renvar

    Renvar New Member

    Joined:
    30 Sep 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Есть такой код:
    #include <stdio.h>

    int main(){
    int a=112;
    printf("%d",&a);
    scanf("%d",&a);
    }
    По идее, он должен вывести на консоль 112, но на самом деле функция выводит 2359156.
    Отчего так? Я читал, что в форматной можно указывать только тип, а показать, что выводится значение типа int, можно так: %d. Где ошибка? Компилятор среды DevCpp.
     
  2. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    printf("%d",&a);

    ты выводишь адрес переменной a
     
  3. xa-xa89

    xa-xa89 Elder - Старейшина

    Joined:
    17 May 2008
    Messages:
    108
    Likes Received:
    27
    Reputations:
    2
    Code:
    printf("%d",a);
    вот так попробуй
     
  4. Renvar

    Renvar New Member

    Joined:
    30 Sep 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Точно, теперь все верно! Спасибо.
     
  5. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    спец тема есть
     
    1 person likes this.