Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
1

Что выведет этот код?

23.09.2009, 13:00. Показов 2105. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
static void Main(string[] args)
        {
            int j = 0;
            for (int i = 0; i < 10; i++)
                j = j++;
 
            Console.WriteLine(j);
        }
Признаюсь, выведет он ноль, но почему понять не могу... Может кто поможет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2009, 13:00
Ответы с готовыми решениями:

Можно ли предугадать,что выведет метод Random.Next и можно посмотреть сам этот класс?(код)
Можно ли предугадать,что выведет метод Random.Next и можно посмотреть сам этот класс?(код)

Что выведет в консоль приведенный код
Доброго времени суток. Наткнулся на такое задание : Что будет выведено на консоль? Сначала...

Что выведет на экран приведенный код
public class Test { static void Main(string args) { string s = &quot;C#&quot;; StringBuilder buffer = new...

Что делает этот код?
for (i=0; i&lt;game_get_count(game); i++) { if (user = game_get_player_conn(game,...

13
274 / 200 / 33
Регистрация: 18.04.2009
Сообщений: 177
23.09.2009, 14:30 2
Может быть так:
C#
1
2
3
4
5
6
7
8
9
10
        static void Main(string[] args)
        {
            int j = 0;
 
            for (int i = 0; i < 10; i++)
            {
                j = i;
                Console.WriteLine(j);
            }
        }
Если да, то можно и проще:
C#
1
2
3
4
5
6
7
        static void Main(string[] args)
        {
            for (int j = 0; j < 10; j++)
            {
                Console.WriteLine(j);
            }
        }
В результате на консоль будут выведены числа от 0 до 9.
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
23.09.2009, 14:43  [ТС] 3
Стасёнок

1)Вы меня не поняли, я закопипастил вопрос из тестов и знаю на него ответ, выведет он ноль, но почему не пойму
2) А если поменять j++ на ++j выведет 10
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
23.09.2009, 14:49 4
Цитата Сообщение от zema Посмотреть сообщение
ы меня не поняли, я закопипастил вопрос из тестов и знаю на него ответ, выведет он ноль, но почему не пойму
а ты попробуй заменить
j=j++ на j++
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
23.09.2009, 14:54  [ТС] 5
Цитата Сообщение от mamedovvms Посмотреть сообщение
а ты попробуй заменить
j=j++ на j++
Если заменить выведет 10, но меня интересует именно мой вариант, почему с моим вариантом выводит 0?
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
23.09.2009, 14:59 6
да потому что сначало идет присвоение , то есть мы j присваиваем 0 увеличения то нет а вот если сначала поставить ++ то у нас сначала происходит увеличение, а потом уже равно
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
23.09.2009, 15:01 7
zema,
меня интересует именно мой вариант, почему с моим вариантом выводит 0?
код может выводить всё что угодно, из-за наличия побочных эффектов.
для дальнейшего просвящения гооглить "sequence points"
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
23.09.2009, 17:15  [ТС] 8
Разобрался благодаря статьи о "sequence points" некой Алены. И все таки странно, зачем такие вопросы задавать на тестах по знанию с#.
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
23.09.2009, 17:22 9
зачем такие вопросы задавать на тестах по знанию с#.
может, чтобы проверить, читал ли ты статью некоей Алены?
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
23.09.2009, 17:48  [ТС] 10
Цитата Сообщение от Rififi Посмотреть сообщение
зачем такие вопросы задавать на тестах по знанию с#.
может, чтобы проверить, читал ли ты статью некоей Алены?
Может быть, хотя кому такие знанию нужны в реальной разработке? Хто Знает...
0
3 / 1 / 2
Регистрация: 13.05.2007
Сообщений: 35
01.10.2009, 17:03 11
А вот интересно, что в Visual C++ 2005, пиши i++ или ++i всё равно выводит 10.
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
02.10.2009, 00:37 12
Цитата Сообщение от NURMS Посмотреть сообщение
А вот интересно, что в Visual C++ 2005, пиши i++ или ++i всё равно выводит 10.
Интересно, а что ты хотел увидеть?
0
3 / 1 / 2
Регистрация: 13.05.2007
Сообщений: 35
02.10.2009, 13:43 13
0.
0
3 / 1 / 2
Регистрация: 13.05.2007
Сообщений: 35
02.10.2009, 16:39 14
Ааа, не i++, а j++ и ++j!! (((:
0
02.10.2009, 16:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2009, 16:39
Помогаю со студенческими работами здесь

Что делает этот код?
private List&lt;Visual&gt; visuals = new List&lt;Visual&gt;(); protected override Visual GetVisualChild(int...

Что выводит этот код?
Help! Знаю что тут ошибка, но что этот код может вывести если ошибки не будет? public class...

Что означает этот код
public override IEnumerable&lt;PropWrapper&gt; GetListProps(ТипРеквизитов type) { ...

Что значит этот код?
{ if (max &lt; n % 10) max = n % 10; n /= 10; }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru