tik_crazy #1 Опубликовано: 13 ноября 2008 Значит есть код printf("%d %d",i++,i++) Шарящие, объясните плиз, почему выводится на экран 1,0 Цитата Поделиться сообщением Ссылка на сообщение
Гость ~Bob~ #2 13 ноября 2008 какое начальное значение переменной i и какого она типа? Цитата Поделиться сообщением Ссылка на сообщение
Гость ~Bob~ #4 13 ноября 2008 тогда должно выводиться 1 2 а если printf("%d %d",i++,i--) то тогда выводится 1 0 Цитата Поделиться сообщением Ссылка на сообщение
tik_crazy #5 13 ноября 2008 нет, если есть код: ... int i=0; ... printf("%d %d",i++,i++); То на экран как раз выводится 1 0 Напоминаю что язык Си Цитата Поделиться сообщением Ссылка на сообщение
Гость ~Bob~ #6 13 ноября 2008 просто Си без плюс-плюс и т.п.? Цитата Поделиться сообщением Ссылка на сообщение
tik_crazy #7 13 ноября 2008 просто Си без плюс-плюс и т.п.? да, обычный Си Цитата Поделиться сообщением Ссылка на сообщение
Magot #8 13 ноября 2008 должно выводится 0 1 и ниибет ты что-то напутал покажи скрин, где у тебя выводит 1 0 Цитата Twitter Поделиться сообщением Ссылка на сообщение
Tekirinka #9 13 ноября 2008 http://answers.yahoo.com/question/index?qid=20081019094333AAaomTf Цитата Моя совесть настолько чиста и прозрачна, что её практически невидно. ^ украдено -_____- Поделиться сообщением Ссылка на сообщение
tik_crazy #10 13 ноября 2008 ща скрин дам кстати, сорри, ошибся, Borland C++ компилятор мб это и есть решение проблемы ? Цитата Поделиться сообщением Ссылка на сообщение
Гость ~Bob~ #11 13 ноября 2008 0 1 никак не выведется Цитата Поделиться сообщением Ссылка на сообщение
Magot #12 13 ноября 2008 в самом деле так выводит... хм.... Цитата Twitter Поделиться сообщением Ссылка на сообщение
tik_crazy #13 13 ноября 2008 http://www.sendspace.com/file/k0qq50 Цитата Поделиться сообщением Ссылка на сообщение
Гость ~Bob~ #14 13 ноября 2008 ну если борланд... тогда смотри в компиляторе про предотвращение повторных действий на выводе... там есть такая херня... Цитата Поделиться сообщением Ссылка на сообщение
tik_crazy #15 13 ноября 2008 http://answers.yahoo.com/question/index?qid=20081019094333AAaomTf Это находил, но в английском совсем не силен, поэтому и попросил, мб кто то шарит тут Цитата Поделиться сообщением Ссылка на сообщение
Tekirinka #16 13 ноября 2008 там мим вс мауз началась ласт гейм бтв Цитата Моя совесть настолько чиста и прозрачна, что её практически невидно. ^ украдено -_____- Поделиться сообщением Ссылка на сообщение
tik_crazy #18 13 ноября 2008 #include <stdio.h> #include <conio.h> int main () { int i=0; printf('%d %d",i++,i++); getch(); return 0; { Цитата Поделиться сообщением Ссылка на сообщение
Tekirinka #19 13 ноября 2008 ------- Additional Comments From ghazi at gcc dot gnu dot org 2005-06-09 13:01 ------- If side effects appear in the arguments, that also would be a problem, e.g.: printf("%d", i++); printf("%d", i++); should not be turned into: printf("%d%d", i++, i++); because we can't guarantee order of evaluation. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21982 Цитата Моя совесть настолько чиста и прозрачна, что её практически невидно. ^ украдено -_____- Поделиться сообщением Ссылка на сообщение
tik_crazy #20 13 ноября 2008 ------- Additional Comments From ghazi at gcc dot gnu dot org 2005-06-09 13:01 ------- If side effects appear in the arguments, that also would be a problem, e.g.: printf("%d", i++); printf("%d", i++); should not be turned into: printf("%d%d", i++, i++); because we can't guarantee order of evaluation. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21982 ну у меня вопрос как раз поэтому почему выводится 1 0 , а не 0 1 тут не написано причины Цитата Поделиться сообщением Ссылка на сообщение