有个问题,string 是个指针, 不是个常量吗???指向第一个元素所存放的地址,没错吧?
那怎么可以用strlen(string)这样的形式吗??
我写了如下程序,大家指教一下:
int fun(char *string, char c)
{int n=0;
char * pf;
pf=string;
while(*pf!=null)
{ if(*pf==c){n++;pf++)
else pf++;
}
return n;
}
strlen(字符串指针的首地址)=字符串长度 是string.h里的一个函数
除了这么用,我实在不知道strlen函数还可以怎么用
----------------解决方案--------------------------------------------------------
补充一点汉字编码的知识
GB2313-80标准
1。汉字有两个字节组成:
2。第一个字节等于该汉字的区码加0xa0;第二个字节等于该汉字的位码加0xa0;
我还是不知道怎么写,你能不能写一个?
----------------解决方案--------------------------------------------------------
我发现了一个有趣的问题:汉字的ASCII码值都是负数,
看看这个:
#include<stdio.h> main() {char a[100]={"中华人民共和国"};int i=0; printf("%s\n",a); while(a[i]!='\0') {printf("%5d",a[i]);i++;} printf("\n"); printf("%d\n",i); getch(); }
----------------解决方案--------------------------------------------------------
为什么TC在窗口模式下可以看到汉字,而在全屏模式下看到的都是乱码?
----------------解决方案--------------------------------------------------------
晕,还没有人做第二题??
难道C真是如此没落?重赏!!!!!!
完成第二题并通过测试的重赏!!!
----------------解决方案--------------------------------------------------------
我不懂什么汉字编码知识,但我根据一个汉字占两个字节,自己写了一个:
#include<string.h>
int fun(char *string,char *str) {int i,j,k,n=0; int a=strlen(string),b=strlen(str); for(i=0;i<a;i+=2) {k=i; for(j=0;j<b;j+=2) if(*(string+k)==*(str+j)&&*(string+k+1)==*(str+j+1)) {k+=2;continue;} else break; if(j>=strlen(str)) { n++;i=k-2;} } return n; }
能得出结果,但这个函数只能用于汉字,对字符就不起作用了。
----------------解决方案--------------------------------------------------------
刚才到C++版,看了看,KAI版主出了两道题,C++没人做(不知道是不会还是不愿),
转来大家试试:
一,函数篇 (比较简单,仅提两个问题而已)
问题一: 编写一个程序判定一个字符在一个字符串中出现的次数,如果该字符不出现则返回值 0。
问题二: 编写一个程序判定一个子串在一个字符串中出现的次数,如果该子串不出现则返回值0。
我加上两条件:
1。第一个问题,写成子函数形式:int fun(char *string,char c)
2。第二个问题,写成子函数形式且要能处理汉字:int fun(char *string,char * str)
关于第二个问题的测试数据(如有新的,我会加上,大家也可以跟贴加上):
补充一点汉字编码的知识
GB2313-80标准
1。汉字有两个字节组成:
2。第一个字节等于该汉字的区码加0xa0;第二个字节等于该汉字的位码加0xa0;
1。 char *string="中华人民共和国"; char *str="凸"; 2。 char *string="安句是什么意思?";
char *str='d'; or *str="匆";
三天后我贴上我的代码。
第三天了,怎么还没看到代码?
----------------解决方案--------------------------------------------------------