我对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, "!");
}
Run Code Online (Sandbox Code Playgroud)
输出:
Enter a number: 5
What is your name? Hello !
Run Code Online (Sandbox Code Playgroud)
但是,如果我注释掉readf("%s",&x),则按照我的意愿调用readln:
Enter a number: What is your name? hjl
Hello hjl!
Run Code Online (Sandbox Code Playgroud) d ×1