发布网友 发布时间:2022-04-23 17:08
共5个回答
热心网友 时间:2023-08-30 21:52
scanf 函数最主要的用法是:
scanf("输入控制符", 输入参数);
函数原型:int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdin (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
扩展资料:
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
发展:
使用scanf函数进行输入,必须指定输入的数据的类型和格式,不仅繁琐复杂,而且很容易出错。C++保留scanf只是为了和C兼容。
以便过去用C语言写的程序可以在C++的环境下运行。C++的编程人员都愿意使用cin进行输入,很少使用scanf。
但是scanf有一个明显的优点,速度比cin函数快。
参考资料:
百度百科-scanf (计算机语言函数)
热心网友 时间:2023-08-30 21:52
scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
热心网友 时间:2023-08-30 21:53
楼主注意了 getchar()是输入 字符函数哦,所以要是用getchar输入5,6那么对应输出的整数应当是它们对应的ASCII码值,也就是53,54.因为此程序中既有scanf,又有getchar,所以要消除换行建对程序的影响。具体做法如下#include<stdio.h>输入:1 2 3 4 5 6(每个数字中间用空格隔开)
输出:1 2 3 4 53 54(注意 后面的53,54就是你输入的5,6)
追问ch里面用来存放空格的? 如果不要ch呢?
热心网友 时间:2023-08-30 21:53
把e=getchar()和f=getchar()改成e=getchar()-'0'和f=getchar()-'0',在这两语句前各加一条getchar();语句。输入时:1 2 3 4 5 6回车就可以啦。你也可以一个一回车。热心网友 时间:2023-08-30 21:54
用空格隔开。比如响应scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);,输入:1 2 3 4 5 6。追问前面几个%d可以用空格 后面ef 不行 前面能用逗号或者回车隔开吗?追答scanf()函数读入数据时,无论读入数值型数据还是字符数据,都以空格、、作为分隔符。