找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 67|回复: 0

检测点9-3

[复制链接]

620

主题

336

回帖

1057

积分

管理员

积分
1057
发表于 2026-3-8 21:31:44 | 显示全部楼层 |阅读模式
检测点9-3

如果要让对象pmbs指向一个采用GBK编码的字符串并辨别这个字符串里有几个多字节字符,应当如何修改源文件c0902.c?如何编译修改后的程序?
参考答案:
# include <stdio.h>
# include <locale.h>
# include <string.h>
# include <stdlib.h>


int main (void)
{
    setlocale (LC_NUMERIC, "german");                                        //S1
    printf ("%.2f\n", 3.14);                                                        //S2


    char * pmbs = "c语言";
    int len = 0, r = 0;


    setlocale (LC_CTYPE, "chinese.936");                                //S3
    printf ("%zu\n", strlen (pmbs));                                        //S4
    while ((len = mblen (pmbs += len, 4)) > 0) r ++;        //S5
    printf ("%d\n", r);
}
编译方法:
gcc c0903.c -fexec-charset=gbk

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

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-3-30 16:13 , Processed in 0.251477 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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