十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
scanf是c语言中的标准库函数,主要作用是接收用户输入的数据。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站制作、旌阳网络推广、小程序定制开发、旌阳网络营销、旌阳企业策划、旌阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供旌阳建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
scanf是C语言中的输入函数,可以从键盘获得用户输入,和printf输出功能正好相反。scanf的输入格式是多种多样的,使用时需根据情况选择,最常用的是十进制整数型输入%d。
scanf的使用和输入格式
scanf("%d", c); //输入一个整数并赋值给c。
scanf("%d", d); //输入一个整数并赋值给d。
scanf("%d,%d", c, d); //输入两个整数并分别赋值给c、d。
scanf("%d %d", c, d); //输入两个整数并分别赋值给c、d。
前两个scanf:输入一个整数,按下回车键,scanf会读取键盘输入,并把数据赋值给c(或d);后两个scanf:都是一样功能,输入格式不同,对于scanf(),输入数据的格式要和控制字符串的格式保持一致。比如:输入15 24回车,输入15,24回车,同样的把值分别赋给c和d。
正确答案是:C
它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。按格式的要求,每个变量前都要有地址符,故s1和s2前面都需要用到地址符。A、B、D选项中都不能满足s1、s2前面都有的要求,所以C为正确答案。用软件运行C选项的代码,编译中0个错误,0个警告,验证C答案正确。
扩展资料:
scanf()是C语言中的一个输出函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include stdio.h。
scanf()函数的指定输入格式有很多种,下面是一些比较常用的格式:
%d:读入可选有符号的十进制整数。
%u:读入无符号符号十进制整数。
%a,e,f,g,A,E,F,G: 读入可选有符号浮点数,输入格式应该像strtod函数识别的字符序列一样。
%o:读入可选有符号八进制整数。
%s:读入一个的字符序列,后面会加上空字节,遇到空白字符(\t \r \n 空格等)完成读取。
参考资料:百度百科-scanf
scanf 函数最主要的用法是:
scanf("输入控制符", 输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。
如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。
扩展资料:
使用scanf()函数需要注意的问题:
1.对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上""操作符。
2.可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
3.scanf函数中没有类似printf的精度控制。
如:scanf("%5.2f",a); 是非法的。不能企图用此语句输入小数为2位的实数。
4.scanf中要求给出变量地址,如给出变量名则会出错
如:scanf("%d",a);是非法的,应改为scanf("%d",a);才是合法的。
5.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
6.在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
参考资料:
百度百科-scanf()函数
百度百科-gets()函数