当前位置:   article > 正文

关于vs2019的scanf_s的键盘输入注意以及0xC0000005报错_vs中的scanf_s如何输入字符

vs中的scanf_s如何输入字符

    环境:window10,vs2019    

因为再vs中许多的c库函数都有一定的安全隐患,特别是 错误4996 中,

1.我们可以再源文件(就是.c文件)头部直接输入(注意后面不要加;)

#pragma warning(disable :4996)

2.主要是介绍

再我们用 scanf_s 输入一个字符串:

  1. char a[10];
  2. scanf_s("%s",a,9);
  3. printf("键盘上输入的字符串是:%s\n",a);

后面的10,你可以理解为你最多输入(10-1)个字符串,实际上后面还包含的结束符/0 实际占用空间为10个。如果多输出就会导致内存溢出就会出现0xC0000005报错。

导致就算是断点调试也被卡住了(学艺不精)

后面不断尝试,发现是因为我在键盘输入有问题,在这段代码中我写的是%d %s %f %f %f,中间是空格,那就要在键盘上面也是空格间隔开,若你%d,%s ,%f, %f, %f

那么你就要在键盘输入也是用隔开才行,不然就可能会出现0xC0000005报错。

 scanf_s("%d %s %f %f %f", &stu[i].num, stu[i].name, 5, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);

3.介绍一个实在不会在键盘上面输入的蠢而又万能的方法:

那就是合法输入你的字符串或数字或者其他后每一个都用(enter)确定下来,有点小麻烦,但是很有用。

4.另外scanf_s中我们需要注意%s输入时,后面的对应的参数不需要写&这个符号,就如同我上面那个stu[i].name,但是需要说明多少个字符串。

(暂时想到就这么多,纯写给刚刚进入c的小白看的)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/二进制舞者2/article/detail/62742
推荐阅读
相关标签
  

闽ICP备14008679号