scanf用途:从键盘输入数据,从键盘得到字符,放到某个变量里。
格式:scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include
扩展资料:
1、int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdio (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符顺次对应。
空白字符会使scanf函数在读操作中略去输入中的一个或多个空白字符。一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
参考资料:scanf-百度百科
scanf(输入数据存入内存地址中);
scanf(“%数据类型”,&内存地址);
例:将一个数据存入内存地址a中
如果要输入一个整型的数scanf(“%d”,&a)
如果要输入一个浮点型的数scanf(“%f”,&a)
如果要输入一个字符型的数scanf(“%c”,&a)
多看看书
谭浩强的那本都有
4楼的sdywt胡说
不信自己试试
一般形式 scanf(格式控制,地址列表);
scanf(“%?1”,&?2);
如果要输入一个整型的数(例如3给a),?1为d,?2为a
如果要输入一个浮点型的数(例如3.0给a),?1为f,?2为a
如果要输入一个字符型的数(例如h给a),?1为c或s,?2为a
这个函数的作用是按a在内存的地址将输入的东东存进去。
char *x = NULL;——这样只是声明了一个指针x,它没有指向,是野指针,不能使用,得改成char x[30];,这样编译时就为x分配了30字节,就可以向里输入字符了。
scanf("input a string: %s",&x);——其中的input a string: 在输入字符串时必须输入,所以这是不可取的,改成scanf("%s",&x);就可以了,&最好不要,因为x已经是与%s匹配的指针了。
补充一下:
若输入的是字符数组~含地址的,不能加地址符‘&’,切记!
如:
char str[4];
scanf("%s",str);