BIYU 发表于 2019-10-27 17:24:25

scanf输出char那个环节出了问题呢(我刚来莫得鱼币)

本帖最后由 BIYU 于 2019-10-27 17:30 编辑

#include <stdio.h>


void main()
{
      chara5,b5;
      printf("input character a and b\n");
      scanf_s("%c%c",&a5,&b5);
      printf("%c%c\n", a5, b5);
      system("pause");
}





BIYU 发表于 2019-10-27 17:25:26

容我熟悉一下怎么玩论坛

BIYU 发表于 2019-10-27 17:33:06

本帖最后由 BIYU 于 2019-10-27 17:37 编辑

ok,大致就这样,不太懂为什么会出错(我怀疑是编译器问题,但我没证据),虽说他表明了出错原因但我看不懂,求解释{:10_266:}

learn_8 发表于 2019-10-27 17:38:05

scanf_s()是微软针对scanf()输入字符串不检查边界问题而重写的函数,除了需要指定输入元素的首地址,还需要指定该元素占用位数,如果输入数组,即为数组长度,你的输入应改为scanf_s("%c",&a,1); scanf_s("%c",&b,1);

BIYU 发表于 2019-10-27 17:49:57

楼上正解,np,谢谢老哥{:10_254:}
页: [1]
查看完整版本: scanf输出char那个环节出了问题呢(我刚来莫得鱼币)