C和C++中的SCANFF()函数,读取命令行的输入

scanf() 函数用于从控制台读取输入或应用程序的标准输入,用C语言和C++编程语言。scanf()函数可以读取不同的数据类型,并将数据赋给不同的变量类型。通过使用格式说明符,可以以不同的格式读取输入数据。在C和C++术语中,标准输入也可以称为STDIN。scanf()  功能由 stdio.h 库或标题。

原装MC74LCX157DR2G《IC MUX QUAD 2INPUT LV 16-SOIC》
| 月销量0件
优惠价4.08元
原价¥4.08

淘口令:

¥T4C5XttEAIG¥
 

scanf()函数语法

作为一个函数,scanf()接受不同的参数。它具有以下语法和参数含义。我们也可以用一个scanf()函数读取多个参数。仅适用于单个参数 VARIABLE1 将指定。

int scanf(const char *FORMAT, VARIABLE1, VAARIABLE2, ...)
  • `int`是读取输入数据后的返回数据类型,是一个整数。这将提供读取操作的状态。
  • `scanf`是函数名。
  • `const char*FORMAT`是输入的格式说明符。
  • `VARIABLE1`,`VARIABLE2`…  从用户输入中设置值的变量名。

scanf()返回值

函数的作用是:返回一个与输入值无关的整数值。如果scanf()函数成功完成,返回值将是输入参数计数。如果存在匹配失败、读取错误或到达文件结尾等错误,则返回值将小于零,该值与错误类型有关。

scanf()函数格式说明符

在开始scanf()示例之前,我们将提供格式说明符。格式说明符用于指定将为给定变量设置的输入数据格式。格式应与给定变量相同。不同的变量类型有不同的格式说明符,如下所示。

  • `%%c`用于输入字符  for`char`变量类型
  • `%%d`用于输入’int’变量类型的整数输入
  • `%%e`,`%%e`,`%%f`,`%%g`,`%%g`用于为’float’变量类型输入浮点数
  • `%%o`用于输入八进制格式的’int’变量类型的整数
  • `%%s`用于以字符串或字符数组格式输入变量类型char[]`的字符串。
  • `%%x`,`%%x`用于以十六进制格式输入“int”变量类型的整数。

相关文章: C编程Gets()函数教程及示例

格式说明符还用于设置输入框的格式,以设置一些空间或格式。我们可以通过提供 % 格式说明符 s , c , d , f 等。

//5 digit integer inputscanf("%5d",&age);//30  characters inputscanf("%30s",&name);

从控制台读取/输入单个字符/标准输入

我们将从一个简单的示例开始,在这个示例中,我们将从标准输入或控制台中读取一个字符。我们将使用 %c 字符数组类型的格式说明符。在本例中,我们将接受用户的char输入,从给定列表中选择一个汽车模型。

/* scanf example */#include int main (){   char selection;   printf("Please select one option:");   printf("a) Ferrari");   printf("b) Bugatti");   printf("c) Porsche");   scanf ("%c",&selection);   printf("Your selection is %c",selection);   return 0;}
Read/Input Single Character From Console/Standard Input
从控制台读取/输入单个字符/标准输入

从控制台/标准输入读取/输入多个字符或字符串

我们也可以通过使用 scanf() 功能。我们将使用 %s 格式说明符,以便接受多个字符的字符数组或与字符数组相同的字符串。在本例中,我们将使用 %s 格式说明符。

/* scanf example */#include int main (){   char name[30];   char website[50];   printf("What is your name?");   scanf ("%s",name);   printf("What is your favourite web site?");   scanf ("%s",website);   printf("Your name is %s",name);   printf("Your favourite web site is %s",website);   return 0;}
Read/Input Multiple Characters or String From Console/Standard Input
从控制台/标准输入读取/输入多个字符或字符串

从控制台读取/输入整数/标准输入

我们还可以从命令行读取用户输入的整数值。我们可以用 %d 格式说明符。我们将在本例中阅读用户年龄。如果提供的值不是整数格式,则应用程序将由于不正确的数据类型而崩溃。

/* scanf example */#include int main (){   int age;   printf("What is your age?");   scanf ("%d",&age);   printf("Your age is %d",age);   return 0;}
Read/Input Integer From Console/Standard Input
从控制台读取/输入整数/标准输入

从控制台/标准输入读取/输入浮点或双精度

Float是另一种可以从输入读取的数据类型。我们可以用 %e , %E , %f , %g , %G 格式说明符。一般 %f 用于浮子和 %g 用于双重数据类型。我们将使用 %f 为了得到运输车辆使用率。

/* scanf example */#include int main (){   float usage;   printf("What is your car usage percentage?");   scanf ("%f",&usage);   printf("Your car usage is %f",usage);   return 0;}
Read/Input Float or Double From Console/Standard Input
从控制台/标准输入读取/输入浮点或双精度

从控制台/标准输入读取/输入十六进制

十六进制格式用于以十六进制为基数从用户处获取输入。我们将使用 %x 以获取十六进制格式的用户输入。

/* scanf example */#include int main (){   float hex;   printf("What is your age?");   scanf ("%x",&hex);   printf("Your car usage is %x",hex);   return 0;}

使用单个scanf()函数读取多个值/输入

如前所述,我们可以用一个scanf()函数读取多个值或输入。我们将只提供多个格式说明符,并通过逗号分隔来添加要设置的变量。此外,这些值或输入可以是不同的数据类型或格式。在本例中,我们将使用单个scanf()函数读取用户名和年龄。

/* scanf example */#include int main (){   char name[30];   int age;   printf("What is your name and age?");   scanf ("%s %d",name,&age);   printf("Your name is %s and age is %d",name,age);   return 0;}
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享