您的位置:

c语言怎么配对,括号配对c语言

本文目录一览:

C语言匹配数组里的内容,要怎么样匹配

如果是字符数组,可以使用strstr函数查找匹配。

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。

包含文件:string.h

函数名: strstr

函数原型:

extern char *strstr(char *str1, const char *str2);

语法:

char * strstr(str1,str2)

str1: 被查找目标 string expression to search.

str2: 要查找对象 The string expression to find.

返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。

如果是普通类型的数组,需要使用双重循环来实现匹配。

例如:

int a[10]={0,1,2,3,4,5,6,7,8,9,0};

int b[3]={5,6,7};

int i,j;

for(i=0;i7;i++){

 for(j=0;j3;j++) if(a[i+j]!=b[j]) break; //进行匹配,如果其中一个不匹配,中断循环。

 if(j==3){    //寻找到匹配

   printf("匹配!");

   break;

 }

}

if(i==7){    //循环完仍未找到匹配

   printf("不匹配!");

}

C语言,Else和哪个 if配对?为什么?

和内层的if配对,因为正确的代码格式是有这样要求的,每个语句包含的空格都是有严格要求的,有些地方需要空格有些地方不需要,什么时候该空多少都是有意义的,尤其这样嵌套条件语句,书写一定要规范,不然很可能出现莫名其妙的错误。

c语言括号配对问题

#includestdio.h

int main()

{

int n,j,i;

scanf("%d",n);

for(;n0;n--)

{

char s[1000]={0}; //不超过1000表示最示最大1000个字符,要给\0留个位置

scanf("%s",s);

j=0; //j每次都要在这里赋初值0

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

{

if(s[i]==')')

{

j--;

if ( j0 ) //遇到)就要看前面是否有过( ,没有过,则说明不匹配了

break;

}

else

if(s[i]=='(')

j++;

}

if(j==0)printf("Yes\n");

else

printf("No\n");

}

return 0;

}

C语言怎么实现字符串的匹配?

p=="delete"要改成用strcmp(p, "delete") == 0 来进行字符串匹配。

你的写法是判断两个指针地址是否相等,而不是指针指向的内容相同。

p和"delete"的地址原本就不相等,一个指向了栈上分配了10个字节的空间,空间的内容是"delete",另一个指向了常量区的"delete"。

请采纳,谢谢