Задать вопрос
4atty
@4atty
Только начал учить языки программирования

Почему консоль выводит первое ведённое число?

using System;

public class Program
{
	public static void Main()
	{
		int x, y;
		string name = "A";
		x = int.Parse(Console.ReadLine());
		y = int.Parse(Console.ReadLine());
		//z = int.Parse(Console.ReadLine());
		Console.WriteLine(x);
		if (x > y)
		{
			Console.WriteLine("X", x);
		}
		else
		{
			Console.WriteLine("Y", y);
		}
	}
}
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
FoggyFinder
@FoggyFinder
Как уже написали в других ответах, вам выводит вначале первое число, так как вы именно это и делаете сразу после считывания:

x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
//z = int.Parse(Console.ReadLine());
Console.WriteLine(x);


Но, подозреваю, что на самом деле вы спрашиваете о том, почему не выводит само число, а только букву:

Console.WriteLine("X", x);

Console.WriteLine ожидает увидеть в качестве первого параметра форматную строку:

Console.WriteLine("X: {0}", x);

или через интернирование строк:

Console.WriteLine($"Y: {y}", y);

На всякий случай приведу весь код с небольшими изменениями (убрал лишнее):

int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
if (x > y)
    Console.WriteLine("X: {0}", x);
else
    Console.WriteLine($"Y: {y}", y);


Дополнительно о форматировании строк можно прочитать в документации
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@OwDafuq
А что не так?
Вводите X > Y и получаете X (прошу заметить, что выведет просто "X", без числа).
Ответ написан
Так вы сначала вводите x и y, а затем перед условием выводите x.
using System;

public class Program
{
  public static void Main()
  {
    int x, y;
    string name = "A";
    x = int.Parse(Console.ReadLine());
    y = int.Parse(Console.ReadLine());
    //z = int.Parse(Console.ReadLine());
    Console.WriteLine(x); // вот тут вы выводите x
    if (x > y)
    {
      Console.WriteLine("X", x);
    }
    else
    {
      Console.WriteLine("Y", y);
    }
  }
}
Ответ написан
Комментировать
@youkerni
Unity3D developer
Потому что в строчке

Console.WriteLine(x);

вы выводите именно первое число?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы