首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言實現大括號匹配檢查:從標準輸入讀取源碼驗證成對

     編輯:關於C語言

演算法

掃描字符流,維護計數器 cnt:

  • 遇 '{' → cnt++
  • 遇 '}' → 若 cnt==0 則錯誤(多右括號),否則 cnt--
  • 掃描結束:cnt==0 匹配成功,否則缺右括號。

代碼

#include <stdio.h>

int main() {
    int cnt = 0;
    char ch;
    while ((ch = getchar()) != '\n') {
        if (ch == '{') cnt++;
        else if (ch == '}') {
            if (cnt == 0) { printf("匹配失敗!\n"); return 0; }
            cnt--;
        }
    }
    if (cnt == 0) printf("匹配成功!\n");
    else printf("匹配失敗!\n");
    return 0;
}

測試

輸入: { { } }
輸出: 匹配成功!

輸入: { } }
輸出: 匹配失敗!

擴展

同理可擴展至 ()、[] 多類型括號,使用堆疊存儲括號類型。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved