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

发布时间:2022-12-01

本文目录一览:

1、C语言匹配数组里的内容,要怎么样匹配 2、[C语言,Else和哪个 if配对?为什么?](#C语言,Else和哪个 if配对?为什么?) 3、c语言括号配对问题 4、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)。 返回值:若str2str1的子串,则先确定str2str1的第一次出现的位置,并返回此str1str2首位置的地址;如果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; i < 7; i++) {
    for (j = 0; j < 3; j++) {
        if (a[i + j] != b[j]) break; // 进行匹配,如果其中一个不匹配,中断循环。
    }
    if (j == 3) { // 寻找到匹配
        printf("匹配!");
        break;
    }
}
if (i == 7) { // 循环完仍未找到匹配
    printf("不匹配!");
}

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

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

c语言括号配对问题

#include <stdio.h>
int main() {
    int n, j, i;
    scanf("%d", &n);
    for (; n > 0; 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 (j < 0) // 遇到)就要看前面是否有过( ,没有过,则说明不匹配了
                    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"