【发布时间】:2016-07-02 22:40:18
【问题描述】:
我正在使用 Microsoft Visual Studio Express 2013,由于某些奇怪的原因,我无法使用 printf 将字符打印到显示器上。我一直在运行测试代码,它当然不允许我打印字符。我能够很好地将整数打印到屏幕上。我以前从未遇到过这样的问题。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char item;
printf("Test character # 1: ");
scanf_s("%c", &item);
printf("Test character entered = %c\n\n", item);
return (0);
}
输出很简单:
Test character entered =
无论如何它只是显示一个空白。
我尝试过使用fflush(stdout),但这没关系。
有没有人对我接下来要尝试什么有什么建议?我想我会尝试在我的 Mac 上运行它,以确保我没有做错什么。另外,我会尝试让printf 使用%s 打印一个字符串,看看是否可行。
非常感谢任何建议。谢谢!!
【问题讨论】:
-
更新:我确实尝试使用 %s 打印一个字符串,它工作得很好。所以这个问题只限于 printf 中使用 %c 的字符。我想知道 scanf_s() 函数是否有问题?这是我第一次使用该函数,事实上,微软声称如果我尝试使用 scanf() 是一个错误,它不会让我编译我的代码。
-
%c和%s的scanf_s需要大小。例如scanf_s("%c", &item, 1);
标签: c