C - 在Visual Studio 2012中使用scanf_s打印错误

时间:2013-07-16 16:10:02

标签: c visual-studio-2012 printf scanf

首先,我的代码:

#include <stdio.h>

int main(){
   int a;
   char b;

   printf("Insert number: ");
   scanf_s("%i",&a);
   getchar();

   printf("Insert character: ");
   scanf_s("%c",&b);

   printf("Number: %i\n",a);
   printf("Character: %c\n",b);

   getchar();
   getchar();
   return 0;
}

我使用scanf_s但是visual studio 2012用scanf说错误。好吧,int没有问题,但问题是当我可以使用char。

将char保存在var中,但是当我调用printf这个var时,不显示任何内容,为什么?

我在linux上查看并完美运行。

对不起我的英文:)

1 个答案:

答案 0 :(得分:3)

您必须在scanf_s中指定输入字符串或字符的大小。

变化

scanf_s("%c",&b);

scanf_s("%c", &b, 1);