我正在使用Microsoft Visual Studio Express 2013,出於某些奇怪的原因,我無法使用printf將字符打印到顯示屏上。我一直在運行測試代碼,它肯定不允許我打印字符。我有能力將整數打印到屏幕上。我從來沒有遇到過這樣的問題。這裏是我的代碼:我無法使用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,它工作得很好。所以這個問題僅限於使用%c的printf中的字符。我想知道scanf_s()函數是否存在問題?這是我第一次使用這個函數,事實上,如果我嘗試使用scanf()並且它不會讓我編譯我的代碼,Microsoft聲稱這是一個錯誤。 – tadius
'scanf_s'的'%c'和'%s'需要大小。例如'scanf_s(「%c」,&item,1);' – BLUEPIXY