Clear Plan(work 中国限) 2022-08-27 10:54 采纳率: 0%
浏览 770

汉字属于字符还是字符串?

汉字属于字符还是字符串?在使用库函数printf打印汉字的时候要怎么用π_π?请求指点ಥ_ಥ。

  • 写回答

5条回答 默认 最新

  • 歆猿译码 2022-08-27 11:37
    关注

    汉字属于字符还是字符串?
    首先你得知道C语言中字符和字符串的区别:
    1、C中字符,通常指的是 's' '8' '-' 这种占用1个字节空间的字符,使用 char 关键字表示,是一种数据类型
    2、C中的字符串,通常是指由双引号括起来的内容:"hello world" ,表示由很多字符组成,且末尾必须是 '\0'。即判断算不算字符串的核心点是,末尾是否是 '\0'。字符串在C语言中不是数据类型,是一种数据存储方式。

    示例1: 'a' 和 "a"
    存储上:'a' --> 97 --> 1个字节空间:存放97 ('a' 的ascii码值)
    "a" --> 'a' '\0' --> 2 个字节空间
    所以 "a" 是字符串

    汉字在C中如何表示? 核心:编码
    如字符的表示方式是:ascii编码
    汉字的表示方式是:GBK编码 (通常)
    通常在C中,使用2个字节表示一个汉字

    字符使用 '' 括起来表示
    而汉字占用2个字节,且C语言没有单独的符号括起来表示,所以在C中没有单独存在的汉字
    所以C中常用 "我" 这种字符串的方式去表示
    "我" 是字符串,但是它占用3个字节。

    所以,汉字不是字符,但它由2个字符(非ASCII字符)组成;汉字不是字符串,但它在C中只能使用字符串去表示

    使用库函数printf打印汉字的时候要怎么用?
    通常如何输出的控制台支持汉字,可以直接使用 printf("我爱中国!\n"); 这种形式即可
    而如果控制台不支持汉字,使用上面的形式,控制台会出现乱码字符

    如有用,望采纳,感谢

    评论

报告相同问题?

问题事件

  • 创建了问题 8月27日

悬赏问题

  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题
  • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
  • ¥15 oracleBIEE analytics
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 安装CentOS6时卡住