November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, September 3rd, 2012 11:45 am

Взято у dinozavr, по мотивам https://tobotras.livejournal.com/580866.html, но эта версия гораздо интереснее, чем оригинал.

Итак, что напечатает эта программа? И почему?

#include <stdio.h>
void foo(void)
{
  int a = 42;
  int c = 43;
}

int bar(void)
{
  int b;
  return b;
}

int main(void)
{
  int c;
  foo();
  c = bar();
  printf("%d\n", c);
}

Оригинал этой записи в личном блоге.

Monday, September 3rd, 2012 11:59 am (UTC)
А в какую сторону у нас стек растёт? ;-)
Monday, September 3rd, 2012 12:46 pm (UTC)
Ещё один вопрос: А с каким уровнем оптимизации компилировать?
Я реально получил разные результаты на gcc с оптимизацией по-умолчанию и с -O3.
Monday, September 3rd, 2012 01:55 pm (UTC)
Всё ещё не понимаю, почему :)
Monday, September 3rd, 2012 03:28 pm (UTC)
Почему 43, а не 42 :)
Tuesday, September 4th, 2012 02:40 pm (UTC)
Мне бы очень хотелось задать тебе несколько вопросов про Дублин. Как я понимаю, ты же давно (относительно) там, да?
Как тебе будет удобно (если удобно) на них ответить -- е-мейл, гтолк, что-то ещё?