孤世星辰 发表于 2020-3-27 11:15:36

这个怎么回事哇


1 #include<stdio.h>
2 #include<string.h>
3 #define num 21
4 int main()
5 {
6         char str1;
7         char str2;
8         int i=0,j;
9         int k=1,n=0,z=0;
10         int m,y;
11         printf("请输入一行文本:");
12         while((str1 = getchar()) != '\n')
13         {
14               ;
15         }
16         str1='\0';
17         m=strlen(str1);
18         for(i=0;i<=strlen(str1);i++)//判断多个i
19         {
20               for(j=i+1;j<=strlen(str1);j++)//判断第一个i
21               {
22                         if(str1==str1)
23                         {
24                                 k++;//计算一个重复的次数
25                         }
26               }
27               if(k==0)//后面没有跟他重复的就记录下来
28               {
29                         str2=str1;
30                         z++;
31               }
32               if(k>n)//最大重复的i
33               {
34                         n=k;
35                         y=i;
36               }
37               k=0;
38         }
39         m=strlen(str2);
40         printf("你总输入了%d个字符,其中不同的字符个数有%d个.\n",i-1,m);
41         printf("他们是;%s\n",str2);
42         printf("出现的最多的字符\'%c\',他总共出现了%d次.\n",str1,n);
43         return 0;
}

ba21 发表于 2020-3-27 12:03:50

输中文当然出乱码

孤世星辰 发表于 2020-3-27 12:59:27

ba21 发表于 2020-3-27 12:03
输中文当然出乱码

但是还是有点不对,一个词运行被吞了一个A,是为啥

孤世星辰 发表于 2020-3-27 16:42:52

有没有人哇

人造人 发表于 2020-3-27 16:54:50

孤世星辰 发表于 2020-3-27 16:42
有没有人哇

C语言中的字符串以 '\0' 结尾,你知道吗?
请仔细检查你的代码

孤世星辰 发表于 2020-3-27 18:06:25

本帖最后由 孤世星辰 于 2020-3-27 18:07 编辑

人造人 发表于 2020-3-27 16:54
C语言中的字符串以 '\0' 结尾,你知道吗?
请仔细检查你的代码

我都加了的,我改出来了,,第一个是k初值有问题,还有一个是我是第一个和第二个比,一样才加一,这样就会少算一个,然后我每次那个重复的个数就会少一个,还想问一下为啥不能输入中文,输入中文算几个字符

孤世星辰 发表于 2020-3-27 18:08:22

ba21 发表于 2020-3-27 12:03
输中文当然出乱码

想问一下为啥不能输入中文,中文为啥算3个字符

人造人 发表于 2020-3-27 18:41:45

孤世星辰 发表于 2020-3-27 18:08
想问一下为啥不能输入中文,中文为啥算3个字符

编码不一样,一个中文字符可能是2个字节,有可能是3个字节,或者其他

人造人 发表于 2020-3-27 18:45:42

#include <stdio.h>
#include <string.h>

int main(void)
{
        const char *w = "字";
        printf("一个中文字符是%ld个字节\n", strlen(w));
        return 0;
}

孤世星辰 发表于 2020-3-27 19:45:41

人造人 发表于 2020-3-27 18:45


谢谢
页: [1]
查看完整版本: 这个怎么回事哇