我在C中编写了一个代码,使用
scanf
书写和打印名称,但是当我在scanf
中输入韩语时,输出了一个空格。
我的代码:
#include <stdio.h>
int main(void) {
char name[50];
printf("what your name? ");
scanf("%s", name);
printf("Hello, %s!", name);
return 0;
}
输出:
what your name? 한국어
hello, !
我预计:
what your name? 한국어
hello, 한국어!
ASCII 码中没有韩文字母,不能使用 scanf 和
char
s 来存储。
您需要使用
wchar_t
和一个特殊函数,可以处理 wscanf
和 wprintf
等多字节字符并处理区域设置。