Почему в приведенном коде выводится число 6? - C#

Узнай цену своей работы

Формулировка задачи:

Собственно вопрос в теме, почему выводится число 6?
sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
 
namespace ConsoleApplication1
{
    class Program
    {
        static int state = 3;
        
        static object ob = new object();
        static void tr()
        {
            for (int i = 0; i <= 10000000; i++)
            {
                Race(); 
                
            }
 
        }
       
        static void Race()
        {

                if (state == 3)
                {
                    state++;
                    if (state != 4) { Console.Write(state); }  
                    state = 3;
                }
           
        }
 
        static void Main(string[] args)
        {
            Thread t1 = new Thread(tr);
            Thread t2 = new Thread(tr);
            t1.Start();
            t2.Start();
 
            Console.ReadKey();
        }
    }
}

Решение задачи: «Почему в приведенном коде выводится число 6?»

textual
Листинг программы
if (state == 3)
{
   int temp = state;
   int result = temp + 1;
   state = result;
 
   if (state != 4) Console.WriteLine(state);
   state = 3;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5