鱼C论坛

 找回密码
 立即注册
查看: 2646|回复: 9

关于C语言S1E22 动动手程序的问题

[复制链接]
发表于 2021-3-3 16:42:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这个C语言课后作业要求统计中英混合字符串的个数,要甄别中文字符,中文字符占四个字节,指针只要往后推两个空间
@{{$M8QU5_XJARTPUE_E(CW.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-3 16:43:23 | 显示全部楼层
不应该target+=3吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 16:48:29 | 显示全部楼层
大家帮我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 17:02:59 From FishC Mobile | 显示全部楼层
本帖最后由 jackz007 于 2021-3-3 17:47 编辑

        一个汉字占用的字符数取决于编码,也就是操作系统的类型,Windows 采用 GBK 编码,每个汉字占用 2 个字符,Linux 采用 UTF-8 编码,每个汉字占用 3 个字符。

        本例的代码基于 Linux 系统,每次循环 target 依例加 1,但是,当判断 ch 为汉字时,又再次加了 2,总共加了 3,正好是一个汉字占用的字符个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 18:39:54 | 显示全部楼层
jackz007 发表于 2021-3-3 17:02
一个汉字占用的字符数取决于编码,也就是操作系统的类型,Windows 采用 GBK 编码,每个汉字占用 2  ...

我看小甲鱼的答案是说中文字符占4个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 19:17:19 | 显示全部楼层
窝窝头传奇 发表于 2021-3-3 18:39
我看小甲鱼的答案是说中文字符占4个

小甲鱼说的是错的  哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 20:03:17 | 显示全部楼层
窝窝头传奇 发表于 2021-3-3 18:39
我看小甲鱼的答案是说中文字符占4个

        别冤枉别人,唯一的可能是你自己记错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-4 14:04:53 | 显示全部楼层
jackz007 发表于 2021-3-3 20:03
别冤枉别人,唯一的可能是你自己记错了。

  他的编译器出来显示是4个 他自己的话也说是4个 我代码出来是三个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-8 18:06:45 | 显示全部楼层
窝窝头传奇 发表于 2021-3-4 14:04
他的编译器出来显示是4个 他自己的话也说是4个 我代码出来是三个字符

因为最后一个是结束符,所以在你这道题中的最后length-1就是用来计算去除‘\0’之后的字符数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-9 21:11:11 | 显示全部楼层
本帖最后由 jhq999 于 2021-9-9 21:13 编辑

UTF-32占4个字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 18:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表