scanf输入的是中文为什么printf输出是英文

PenguinSAMA 2019-07-27 08:47:44
如题
...全文
447 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NorZ 2021-02-23
  • 打赏
  • 举报
回复
楼上说是编码问题?编码问题不是应该是乱码么?这直接输出拼音了啊?是输入法和终端的兼容问题吧?
xian0-666 2021-02-20
  • 打赏
  • 举报
回复
字符编码问题确实很麻烦,特别是中文
xiyuyan 2021-02-20
  • 打赏
  • 举报
回复
引用 3 楼 亚杰爱编程 的回复:
我也出现了和你一样的情况,也使用的Xcode,怎么解决呀
看着像C语言,逻辑没问题,为什么要第2行、第6行? 去掉2、6行,我用 习语言 编译后运行测试,没发现问题,输入如下: Input name: 小明 "小明" 估计Xcode库函数的处理有问题。
qzjhjxj 2021-02-13
  • 打赏
  • 举报
回复
供参考:
#include <stdio.h>
#include <locale>
int main()
{
    wchar_t name[100];
    setlocale(LC_ALL,"chs");
    printf("Input name:\n");
    scanf("%s",name);
    printf("\"%s\"\n",name);
    
    return 0;

}
maguangzhi 2021-02-13
  • 打赏
  • 举报
回复
char类型支持的是Ascii码,用wchar还是w_char类型(具体忘了),另外输入输出前好像要调用setlocalize,参见《C++程序设计精要教程》。
赵4老师 2021-02-13
  • 打赏
  • 举报
回复
楼上代码部分应改为 wscanf(L"%s",name); wprintf(L"\"%s\"\n",name);
_:fighter 2021-02-11
  • 打赏
  • 举报
回复
我也出现了和你一样的情况,也使用的Xcode,怎么解决呀
提及 2019-07-27
  • 打赏
  • 举报
回复
那么问题来了, 是 scanf 问题还是 printf 问题 scanf 输入之后看看 name 的值是什么
提及 2019-07-27
  • 打赏
  • 举报
回复
唉,有趣

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧