scanf()函数与scanf_s()函数的区别
来源:互联网 发布:mac alias 配置 编辑:程序博客网 时间:2024/03/29 14:33
scanf()函数与scanf_s()函数的区别
scanf()函数是C语言中的一个输入函数,与printf()函数一样都被声明在stdio.h头文件中,它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
scanf_s() 的功能虽然与scanf() 相同,但却比 scanf() 安全,因为 scanf_s() 是针对“ scanf()在读取字符串时不检查边界,可能会造成内存泄露”这个问题设计的。
scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。
原型
int scanf(const char * restrict format,...);int scanf_s(const char * restrict format,...,Number);
参数
format 格式控制符
格式字符 说明%d 从键盘输入十进制整数%o 从键盘输入八进制整数%x 从键盘输入十六进制整数%c 从键盘输入一个字符%s 从键盘输入一个字符串%f 从键盘输入一个实数%e 与%f的作用相同L 输入"长"数据H 输入"短"数据M 指定输入数据所占宽度* 空读一个数据
Number 长度
调用格式
scanf("<格式化字符串>",<地址表>);scanf_s("<格式化字符串>",<地址表>,<数量>);
实例
int CountVowel(char str[]){ int count = 0; int i; for (i = 0; str[i] != '\0'; i++) { switch (str[i]) { case 'a':count++; break; case 'e':count++; break; case 'i':count++; break; case 'o':count++; break; case 'u':count++; break; case 'A':count++; break; case 'E':count++; break; case 'I':count++; break; case 'O':count++; break; case 'U':count++; break; } } return count;}int main(){ char buf[128]; printf("Please input a string:"); scanf_s("%s",&buf,128); printf("%d vowels appear in your string.\n", CountVowel(buf)); system("pause"); return 0;}
结果
阅读全文
0 0
- scanf()函数与scanf_s()函数的区别
- scanf() 与 scanf_s() 的区别
- scanf与scanf_s的区别
- scanf() 与 scanf_s() 的区别
- vs编译器中scanf_s与scanf的区别。
- scanf()函数与gets()函数的区别
- scanf_s()函数的用法
- scanf_s和scanf区别
- 函数用法 --- scanf 与 strtok 的区别
- Scanf()与gets()函数的区别
- scanf()与scanf_s()
- scanf与scanf_s比较
- 关于scanf与scanf_s的区别,以及用scanf编译出错并且提示找不到可执行文件.exe的解决办法。
- printf,scanf与printf_s,scanf_s
- gets函数哈scanf函数的区别
- scanf与gets函数读取字符串的区别
- scanf与gets函数读取字符串的区别
- scanf与gets函数读取字符串的区别(转)
- HashMap、HashTable的key和value是否可为null 或者 ""
- 【LeetCode】415. Add Strings
- Java中HashMap的常用操作
- linux文件复制命令
- nginx phalcon 7 php7 No input file specified.
- scanf()函数与scanf_s()函数的区别
- Eclipse集成git命令窗口
- Hibernate查询之HQL复杂查询对比Criteria查询优劣
- 物联网安全专家齐聚ICA联盟 多项IoT身份认证安全标准出炉
- BFC块级格式上下文
- Hibernate之Session的方法get()与load()的区别
- 3379数据结构实验之查找七:线性之哈希表
- 堆区、栈区、全局区、代码区
- bzoj3224 Tyvj 1728 普通平衡树 treap