ilsoviet1917 发表于 2018-1-5 10:15:51

求问一个中文字输出的问题

#include <stdio.h>

int main (void)
{
        char str;
        char *p;
        p = str;
        int i = 0;
       
        printf ("输入一个字符串:");
        fgets (str, 100, stdin);
       
        while(*(p + i) != '\n')
        {
                printf ("%c\n", *(p + i));
                i++;
        }
       
        printf ("%d个字符\n", i);
       
        return 0;
}

如果输入一个英文字符串,能够每行输出一个字符,然后统计字符数。但是输入英文后,输出的都是?,没法输出中文。

风过无痕丶 发表于 2018-1-5 10:25:26

一看这个同学就是没有仔细做课后作业的~
小甲鱼写的很详细,我就不贴出来了,你是VIP可以直接看。点我!动动手的第0题

libocdf 发表于 2018-1-5 19:24:42

用的哪个IDE,VS2013表示没压力啊!!

ilsoviet1917 发表于 2018-1-5 22:42:52

风过无痕丶 发表于 2018-1-5 10:25
一看这个同学就是没有仔细做课后作业的~
小甲鱼写的很详细,我就不贴出来了,你是VIP可以直接看。点我!   ...

我知道,我只是没看答案。而且当时作业上写了一句“请自行观察当前系统对中文字符的处理方式”,问题是我从哪查看?

ilsoviet1917 发表于 2018-1-5 22:43:28

libocdf 发表于 2018-1-5 19:24
用的哪个IDE,VS2013表示没压力啊!!

就一个notpad++而已,写个C还要啥IDE?{:10_333:}

风过无痕丶 发表于 2018-1-5 22:52:46

ilsoviet1917 发表于 2018-1-5 22:42
我知道,我只是没看答案。而且当时作业上写了一句“请自行观察当前系统对中文字符的处理方式”,问题是我 ...

你看下答案就明白咯有解释

Wind、 发表于 2018-1-8 01:21:44

应该是字符编码的问题,如楼上各位所说,小甲鱼的视频里讲的比较清楚,我们在这里评论也不可能全部搬过来,所以题主去看看小甲鱼讲解就很清楚啦

wjp 发表于 2018-1-9 10:46:08

我用notpad++也遇到过只能输入英文中文全是乱码

爱晴海 发表于 2018-1-9 19:26:35

你这可以输入英文并统计数字,不能输入中文。我试了程序。char只代表字符。有错艾特我,谢谢

ilsoviet1917 发表于 2018-1-12 21:33:54

爱晴海 发表于 2018-1-9 19:26
你这可以输入英文并统计数字,不能输入中文。我试了程序。char只代表字符。有错艾特我,谢谢

是,我知道,问题是怎么同样的效果输出中文?

流光Colv1n 发表于 2018-1-12 22:03:53

中文在不同编码是不定长的2-4个字节
页: [1]
查看完整版本: 求问一个中文字输出的问题