許多初學者在教材或筆記中看到=>符號,誤以為是C語言運算符。實際上C語言標準中不存在=>運算符。常見混淆點:
>= 是"大於等於"比較運算符= 是賦值運算符,右邊賦值給左邊(如i = 1)== 是相等判斷運算符// 錯誤寫法
1 => i; // 語法錯誤
// 正確賦值
i = 1;
// 正確比較
if (i >= 1) { ... }
教材中常用步驟描述算法(如譚浩強教材):
S1: 使 p=1
S2: 使 i=2
S3: p = p * i
S4: i = i + 1
S5: 若 i≤5 則轉 S3
S6: 輸出 p
這是算法邏輯描述,非C代碼。對應C語言實現應使用循環結構:
#include
int main() {
int p = 1;
for(int i = 2; i <= 5; i++) {
p = p * i; // 或 p *= i;
}
printf("5! = %d\n", p); // 輸出 120
return 0;
}
int p = 1, i = 2;
while(i <= 5) {
p *= i;
i++;
}
左值 = 右值,左邊必須是可修改的實體(變量)for,未知次數用while理解符號的精確含義,區分算法描述與代碼實現,是從"看懂代碼"到"寫出代碼"的關鍵一步。