当你在C中使用scanf接收韩文字符串值,将其存储到变量中并输出时,会出现空格

问题描述 投票:0回答:1

我在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, 한국어!
c scanf
1个回答
0
投票

ASCII 码中没有韩文字母,不能使用 scanf 和

char
s 来存储。

您需要使用

wchar_t
和一个特殊函数,可以处理
wscanf
wprintf
等多字节字符并处理区域设置。

© www.soinside.com 2019 - 2024. All rights reserved.