我是靠谱客的博主 危机衬衫,最近开发中收集的这篇文章主要介绍用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程针对新人学C过程中可能遇到的一类问题,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程
针对新人学C过程中可能遇到的一类问题
我们在学习中经常遇到这种情况:
#include<stdio.h>
void main()
{
char note[100] = "";
scanf("%s", note, 100);//本行会报错提醒我们使用scanf_s代替scanf
}
很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,有时黑客可以利用原版的不安全性黑掉系统。比如:char note[100];写成scanf_s("%s",note,100);或scanf_s("%s",note,sizeof(note));才是正确的,有这个参数100使准确性提高。
我列举了三个常见的异常
- [ 1] 用于调用的参数太少
- [ 2] 写入位置时发生冲突
- [3 ] 检测到无效的异常处理程序例程
在处理这三个异常时可以观察代码是否有这样的错误:
//注释内是错误写法
scanf_s("%s", note,100);//缺少参数100 scanf_s("%s", note);
sprintf_s(temp, sizeof(temp) ,"n收入t%stt%.2ftt%.2f", note, money, blance);
//缺失参数sizeof(temp)sprintf_s (temp, "n收入t%stt%.2ftt%.2f", note, money, blance);
strcat_s(data,sizeof(data),temp);//同样缺失参数
strcat_s(data,temp);
希望对同为新手的你有所帮助。
最后
以上就是危机衬衫为你收集整理的用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程针对新人学C过程中可能遇到的一类问题的全部内容,希望文章能够帮你解决用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程针对新人学C过程中可能遇到的一类问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复