D lang - Использование read и readln () в одной программе

У меня очень странная проблема с D-программой. read ("% s", переменная) отлично работает сама по себе, и readln (переменная) отлично работает сама по себе, но когда я соединяю их вместе, readln () кажется пропущенным. Ошибка произошла с использованием как gdc, так и dmd.

import std.stdio;
import std.string;

void main()
{
    int x;
    write("Enter a number: ");
    readf(" %s", &x);

    write("What is your name? ");
    string name=chomp(readln());

    writeln("Hello ", name, "!");
}

Выход:

Enter a number: 5
What is your name? Hello !

Однако, если я закомментирую readf ("% s", & x), readln вызывается так, как я хочу:

Enter a number: What is your name? hjl
Hello hjl!

Ответы на вопрос(1)

Ваш ответ на вопрос