離別的傷橋 2星
共回答了289个问题采纳率:90.8% 评论
1、使用区别
scanf()不会检查输入边界,可能造成数据溢出。
scanf_s()会进行边界检查。
2、意思
scanf表示从键盘输入指定格式的数据。如:scanf("%d",x);指从键盘给x输入一个int型(整型)数据;scanf("%f",x);指从键盘给x输入一个float型(实型)数据;
对应的输出为:printf 按照指定的格式输出数据;如printf("%d",x); 指按整型数据输出X中的值。
因为带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性(漏洞)黑掉系统。
3、scanf_s()参数与scanf()不同
例如scanf(“%s”,&name,n),整形n为name类型的大小,如果name是数组,那n就是该数组的大小。
7小时前
猜你喜欢的问题
2天前1个回答
2天前1个回答
2天前1个回答
2天前2个回答
2天前1个回答
2天前2个回答
热门问题推荐
1个月前2个回答
3个月前1个回答
2个月前1个回答
3个月前2个回答
3个月前2个回答
2个月前2个回答
1个月前1个回答
3个月前1个回答
2个月前2个回答