当前位置:首页 » 编程语言 » 字符串检测c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

字符串检测c语言

发布时间: 2023-03-24 03:35:38

c语言中测试字符串长度的函数

C语言中测试字符串长度的函数是strlen()

函数原型:

unsignedintstrlen(char*s);

头文件:

#include<string.h>

参数说明:s为指定的字符串;

功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'';

返回值:返回字符串s 的字符数;

注意:strlen() 函数计算的是字符串的实际长度,遇到第一个''结束。

示例:

#include<stdio.h>
#include<string.h>
intmain()
{
charstr[]="abcxyz";
printf("strlen(str)=%d ",strlen(str1));
return0;
}
//输出结果:strlen(str)=6

⑵ 用C语言怎么判断一个字符串是否为空

空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:
char str[] = " ";
int len = strlen(str), i = 0;
if (len > 0)
{
while(i < len && str[i++] == ' ');
if (i < len) // 字符串不空
else // 空字符串
}

⑶ C语言中判断两个字符串是否相同的方法

C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:

#include <stdio. h>
#include <string. h>
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}

上例的打印输出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.

strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
返 回 值 意 义
----------------------------------------------------
<0 第一个字符串小于第二个字符串
0 两个字符串相等 ·
>0 第一个字符串大于第二个字符串
----------------------------------------------------
在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。
strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:
-----------------------------------------------------------------
函 数 名 作 用
-----------------------------------------------------------------
strcmp() 对两个字符串进行大小写敏感的比较
strcmpi() 对两个字符串进行大小写不敏感的比较
stricmp() 同strcmpi()
strncmp() 对两个字符串的一部分进行大小写敏感的比较
strnicmp() 对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。

⑷ 在c语言中,如何编写检测输入的字符串是否为字符。

#include
<stdio.h>
#include
<stdlib.h>
void
main(
)
{

printf("请数输入一个字符:");

char
ch
=
getchar();

if(ch>=
'a'&&ch<=
'z')

printf("该字符是小写字母");

else
if(ch
>=
'A'&&ch
<='Z')

printf("该字符是大写字母");

else
if(ch>='0'&&ch
<='9')

printf("该字符是数字");

else

printf("该字符是其他字符")
;

printf("\n")
;

system("pause");
}

⑸ 在C语言中怎样判断一个字符串中是否包含另一个字符串

如果“一个字符串”全部是英文字符的话,只要开一个chars[128];的哈希表,每个在其中出现的字符按它的ASCII值,将相应的元素置为1;

然后扫描“另一个字符串”,检测每一个字符,在数组中对应元素的值是否为1。若这个串里的对应元素值全部为1,则是“包含另一个字符串所有的字符”。

这个算法的时间复杂度为O(n1+n2),n1和n2是二个字符串的长度。


#iclude<stdio.h>

int main()

{char s1[200],s2[200],s[128]={0};//初始化,所有字符均未出现

int i,k=1;

gets(s1);

gets(s2);

for(i=0;s[i];i++)

s1[s[i]]=1;//将字符串s1中出现的每一个字符,均“记录在案”

for(i=0;s2[i];i++)

if(!(s[s2[i]]))k=0;//若s2中有字符在“记录簿”中未出现,就作记录

if(k)printf("s1包含了s2中的全部字符 ");//根据是否有记录输出相应记录

elseprintf("s1未包含s2中的全部字符 ");

return 0;

}

⑹ c语言判断怎么判断字符串

参考代裤前没码如下:

#include<stdio.h>
intmain()
{
charstr[300]="2y1";
charc;
int胡纳i=0,flag=0;

c=str[0];
if(c=='Y'||c=='N'||c=='2'){
//M1先说话
flag=1;
for(;;){
switch(c){
case'Y':
case'N':
c=str[i+1];
if(c!='Y'&&c!='N'&&c!='2')
flag=0;
break;
悔漏case'2':
c=str[i+1];
if(c!='y'&&c!='n'&&c!='1'&&c!=0)
flag=0;
break;
case'y':
case'n':
c=str[i+1];
if(c!='y'&&c!='n'&&c!='1')
flag=0;
break;
case'1':
c=str[i+1];
if(c!='Y'&&c!='N'&&c!='2'&&c!=0)
flag=0;
break;
case0:break;
default:flag=0;
}
if(flag==0||str[i]==0)
break;
else{
++i;
c=str[i];
}
}
}
if(flag==1)
printf("%s是对话",str);
else
printf("%s不是对话",str);
return0;
}

⑺ C语言求解一个关于检测字符串长度的问题

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


intgetInputSize(void);
voiddeal(intsize);
voidclearInputStream(void);
intmain(void)
{

intsize=getInputSize();

deal(size);


return0;
}


voiddeal(intsize)
{
charstrBuffer[1000];

for(inti=0;i<size;++i)
{
gets(strBuffer);//gets是基于行的读取函数,一直读取到换行符,才结束。
//它会消耗换行符,所以不用清理
printf("case%d:length=%d. ",i+1,strlen(strBuffer));

}



}


intgetInputSize(void)//获取输入的字符串的个数
{
intsize=0;
scanf("%d",&size);

clearInputStream();//scanf是基于单词的读取函数,以空白符为分界线。
//读取后,需要清理输入队列中的残余的换行符
returnsize;

}

voidclearInputStream(void)
{
while(' '!=getchar());

}

⑻ c语言c语言编写函数检查字符串否包含全部小写字母和空格

1. #includevoid count(char *str);int letters=0,space=0,digit=0,others=0;int main(void){ char str[100]; printf("Input a string:\兄贺n"); gets(str); count(str); printf("char=%d\nspace=%d\ndigit=%d\nothers=%d\n",letters,space,digit,others); return 0;}void count(char *str){ while(*str!='\0') { if(*str>='a'&&*str='A'世档&&*str='0'&&*str='a'&&*str='A'&&*str=搜尘乱'0'&&*str<='9') digit++; else others++; str++; } printf("char=%d\nspace=%d\ndigit=%d\nothers=%d\n",letters,space,digit,others);}

⑼ c语言怎么检测输入字符串的个数

#include"stdio.h"
intmain(intargc,char*argv[]){
charch,m,t;
printf("Pleaseentersomestring... ");
m=0,t='';
while((ch=getchar())!=' '){
if(t==''&&ch!='')
m++;
t=ch;
}
printf(" Youenter%dstring(s),itis'%c'end ",m,t);
return0;
}

运行样例: