C - 在 Visual Studio 2012 中使用 scanf_s 打印字符时出错

标签 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。

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

我在 linux 上检查过这个并且工作完美。

对不起我的英语:)

最佳答案

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

改变

scanf_s("%c",&b);

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

关于C - 在 Visual Studio 2012 中使用 scanf_s 打印字符时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681672/

相关文章:

c - 在 C 中写入多个文件并迭代其名称

c - 整数数组的最后一个值覆盖所有其他值

c++ - 未解析的外部符号,但我包含了带有函数定义的文件?

c# - Visual Studio 2012 如何调试 "Unable to add reference to project x"错误?

c# - Windows 8 上 VS2012 中的依赖引用问题

c - uint16_t 与 printf 的值差异

c++ - 使用 printf 和 cout 获得不同的输出 - C++

c - 需要帮助打印链接列表

c - 使用 memcmp 比较 0 字节的缓冲区

c - 进程结束/死亡时共享 POSIX 对象清理