C语言怎么从字符串中取出中文字符?

char*str="你好123哈哈456";如何遍历这个字符串,一个字符一个字符的输出?如:你好123哈哈456... char *str = "你好123哈哈456";
如何遍历这个字符串,一个字符一个字符的输出?如:


1
2
3


4
5
6
展开
 我来答
cylz0703
2019-01-01 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:4418万
展开全部
这个需要具体看编译器中汉字的编码情况,汉字编码是2至4个字节,我是手机编译器,汉字编码是3个字节,参考代码如下:
#include<stdio.h>
char *str = "你好123哈哈456";
int main()
{
int i;
for(i=0;str[i]!=0;++i)
if(str[i]>127){
printf("%c%c%c\n",str[i],str[i+1],str[i+2]);
i+=3-1;
}
else printf("%c\n",str[i]);
return 0;
}
更多追问追答
追答

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式