12 道 C 語言面試經典題:指針、內存、陷阱與最佳實踐
Q1: gets() 緩衝區溢位 問題:gets(buf) 不檢查長度,輸入超長導致棧溢位。 修正:用 fgets(buf, sizeof(buf), stdi
C語言入門筆記:常量、變量、補碼與資料類型全景圖
常量分類 類別示例說明 整型10, -5, 0xFF十進制/八進制/十六進制 實型3.14, 1.2e-3小數/科學記數法 字符a, \n, \\單引號,轉義
C語言通訊錄系統:鏈表+文件持久化完整實現
系統功能 增刪改查聯繫人(姓名、性別、年齡、電話、地址) 鏈表記憶體管理(頭節點哨兵) 文本文件持久化(啟動載入、操作同步寫入) 文件內修改/刪除特定行(fs
C語言九九乘法表:格式化輸出與雙重迴圈深度解析
難點拆解 核心難點在於輸出格式控制:如何讓每行列數遞增、數字對齊。關鍵在於理解巢狀迴圈的執行順序: 外層 i=1,內層 j=1..1 → 第 1 行 1 列
C語言統計二進制中 1 的個數:三種算法從入門到精通
題目 輸入一個整數,返回其二進制表示中 1 的位元個數(Hamming Weight / Population Count)。 方法一:取模除二法(直觀但慢)
C語言結構體與指針深度融合:從基礎到鏈表、二叉樹實戰
前置知識速查 sizeof 是運算子,非函式,編譯期計算類型/變數佔用位元組數。 #define MAXN 100 為巨集替換,無型別檢查。 typedef
C語言高效求素數:從定義到平方根優化的完整演進
素數定義與朴素算法 素數:大於 1 的自然數,除 1 和自身外無其他因數。朴素判斷:對 n 從 2 試除到 n-1,若無法整除則為素數。時間複雜度 O(n),n
C語言輸入函數大比拼:scanf vs gets vs fgets
核心差異一覽 特性scanf(%s)gets()fgets() 頭文件stdio.hstdio.h (C11 移除)stdio.h 結束條件空白字元(空格/T
C語言易錯知識點大全:結構體對齊、指針陷阱與動態記憶體
1. 結構體記憶體佈局與對齊 結構體大小非單純成員大小之和,受對齊規則影響: 結構體起始地址能被其最寬成員大小整除。 每個成員相對起始位移能被自身大小整除(或
C語言判斷閏年:三種寫法與「四百年再閏」的數學原理
閏年規則回顧 公曆閏年規則(格里高利曆): 能被 400 整除 → 閏年(如 2000)。 能被 4 整除但不能被 100 整除 → 閏年(如 2024)。
C語言統計單詞數:從基礎版到進階版演進
問題描述 輸入一行字元,統計其中單詞個數。單詞之間由空白字元(空格、Tab、換行)分隔。進階需求:單詞以字母為主體,遇到非字母字元視為單詞結束,支援標點符號混雜