C# 中的 scanf
函數(shù)實(shí)際上并不存在,你可能是在詢問 Console.ReadLine()
或者類似的輸入方法。不過,為了解釋類似 scanf
的原理,我們可以從 C 語言的 scanf
函數(shù)說起。
在 C 語言中,scanf
是一個(gè)用于從標(biāo)準(zhǔn)輸入(通常是鍵盤)讀取數(shù)據(jù)的函數(shù)。它的原型如下:
int scanf(const char *format, ...);
format
是一個(gè)字符串,用于指定輸入數(shù)據(jù)的格式。scanf
會(huì)根據(jù)這個(gè)格式來解析輸入,并返回成功讀取的項(xiàng)目數(shù)。
scanf
的工作原理大致如下:
scanf
會(huì)從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),直到遇到格式字符串中的第一個(gè)非空白字符。%d
會(huì)讀取一個(gè)整數(shù),%f
會(huì)讀取一個(gè)浮點(diǎn)數(shù)等。scanf
會(huì)返回成功讀取的項(xiàng)目數(shù)。如果解析失敗,它會(huì)返回一個(gè)負(fù)數(shù),表示錯(cuò)誤。在 C# 中,沒有直接等價(jià)于 scanf
的函數(shù)。但是,你可以使用 Console.ReadLine()
來讀取一行輸入,然后使用 int.Parse()
或 float.Parse()
等方法來解析其中的整數(shù)或浮點(diǎn)數(shù)。例如:
string input = Console.ReadLine();
int number;
if (int.TryParse(input, out number))
{
Console.WriteLine($"You entered the number: {number}");
}
else
{
Console.WriteLine("Invalid input.");
}
在這個(gè)例子中,Console.ReadLine()
用于讀取一行輸入,然后 int.TryParse()
嘗試將這個(gè)輸入解析為一個(gè)整數(shù)。如果解析成功,程序會(huì)輸出你輸入的數(shù)字;否則,它會(huì)輸出一條錯(cuò)誤消息。