scanf()相关函数的学习
scanf()函数与printf()函数相互对应,scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
scanf(
_In_z_ _Scanf_format_string_ char const* const _Format,
...)
scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
走进scanf()函数
hello word! 经典语句带我飞吧!!!
#include<iostream>
using namespace std;
#define NUM 256
int main()
{
char t1[NUM];
char* t2;
scanf("%s", &t1);
cout << t1 << endl;
return 0;
}
呀!!!
怎么了呢???不急,老司机稳如老狗!!!毕竟这是个人学习笔记,准确说是复习!所以将在接下来的学习记录中讲到!
看来hello word! 起飞不了了!!!
稍等别急啊!!!
我这样呢:
这就很丑对吧!!!具体原因就是因为hello word!中间的空格键被控制台认为你输入结束后面的无效!!!这就是C语言的标准输入!
其次我们想输入一个数据习惯性直接scanf()这样写:
scanf("%d%d",&a,&b);
这样写就在后面输入数据时带来这种效果,输入数据中间给一个键:空格,回车…
但是如果你是这样写:
scanf("%d,%d",&a,&b);
scanf("%d %d",&a,&b);
这样写就需要在输入数据时跟同语句内容一样,给相同的符号:“,”“ ”…
以上为scanf()函数的基本用法
scanf()函数的兄弟函数
- scanf()
scanf(
_In_z_ _Scanf_format_string_ char const* const _Format,
...)
- scanf_s()
scanf_s(
_In_z_ _Scanf_s_format_string_ char const* const _Format,
...)
- sscanf()
sscanf(
_In_z_ char const* const _Buffer,
_In_z_ _Scanf_format_string_ char const* const _Format,
...)
- sscanf_s()
sscanf_s(
_In_z_ char const* const _Buffer,
_In_z_ _Scanf_s_format_string_ char const* const _Format,
...)
scanf()与scanf_s()区别举例代码:
#include<iostream>
using namespace std;
#define NUM 5
int main()
{
char a[NUM];
char b[NUM];
scanf("%s", &a);
printf_s("a=%s\n", a);
//scanf_s("%s", &b);//会报错
scanf_s("%s", &b,NUM);
printf_s("b=%s\n", b);
return 0;
}
_s的增加可以给函数增加安全性,使得输入在安全的情况下进行
sscanf()与sscanf_s()区别举例代码:
#include<iostream>
using namespace std;
#define NUM 32
int main()
{
char a[NUM];
char b[NUM];
char input[NUM] = "12345adcdefg";
sscanf(input, "%s", &a);
printf_s("a=%s\n", a);
sscanf_s(input,"%s", &b,NUM);
printf_s("b=%s\n", b);
return 0;
}
s…他将存在input里面的数据给到后面变量里面!!!同样可以用这个函数将输入数据做分离,在此不做具体的讲解!!!
以上纯属个人总结学习!!
未完待续…