最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

scanf()函数的使用

互联网 admin 3浏览 0评论

scanf()函数的使用

1.如果使用scanf()来读取函数中定义的基本变量类型的值,请在变量名之前加一个&。

2.如果受用scanf()把一个字符串读进一个字符数组中,则不需要使用&.

以下为简单的测试程序:

#include<stdio.h>int main()
{int num1 = 0;float num2 = 0.0;char arr[20];printf("Input your favorite num1(int), and num2(float):\n");scanf("%d%f",&num1,&num2);printf("%d,%f\n",num1,num2);printf("Input your favorite string:\n");scanf("%s",arr);printf("%s\n",arr);return 0;}

其中,如果在输入字符串的时候我们习惯性的会加入一些空格,比如hello world,但是scanf()函数在与相印的字段匹配的同时跳过其中的空格,所以我们看到的输出结果就只是一个hello。

但是办法总是比困难多,同时我们也可以使用getchar()和putchar()搭配使用,而且我们还可以使用一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。

此时我们改变以下代码:

    printf("Input your favorite string:\n");scanf("%[^\n]",arr);printf("%s\n",arr);

如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。

此时输入hello world后的结果就是包含空格的hello world。

scanf()的转换说明符:

 

 

scanf()函数的使用

1.如果使用scanf()来读取函数中定义的基本变量类型的值,请在变量名之前加一个&。

2.如果受用scanf()把一个字符串读进一个字符数组中,则不需要使用&.

以下为简单的测试程序:

#include<stdio.h>int main()
{int num1 = 0;float num2 = 0.0;char arr[20];printf("Input your favorite num1(int), and num2(float):\n");scanf("%d%f",&num1,&num2);printf("%d,%f\n",num1,num2);printf("Input your favorite string:\n");scanf("%s",arr);printf("%s\n",arr);return 0;}

其中,如果在输入字符串的时候我们习惯性的会加入一些空格,比如hello world,但是scanf()函数在与相印的字段匹配的同时跳过其中的空格,所以我们看到的输出结果就只是一个hello。

但是办法总是比困难多,同时我们也可以使用getchar()和putchar()搭配使用,而且我们还可以使用一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。

此时我们改变以下代码:

    printf("Input your favorite string:\n");scanf("%[^\n]",arr);printf("%s\n",arr);

如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。

此时输入hello world后的结果就是包含空格的hello world。

scanf()的转换说明符:

 

 

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论