> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
> Use this file to discover all available pages before exploring further.

# C Subtraction Assignment

The `-=` (subtraction assignment) operator is a compound assignment operator in C that subtracts the value of the right operand from the left operand and stores the resulting value back into the left operand.

```c theme={"dark"}
lvalue -= expression;
```

The expression `E1 -= E2` is semantically equivalent to `E1 = E1 - (E2)`, with the critical distinction that the left operand `E1` is evaluated exactly once. This single evaluation guarantees safe execution when the left operand contains side effects, such as a function call or a post-increment operation (e.g., `array[i++] -= 5`).

**Operand Constraints**

* **Left Operand (`lvalue`):** Must be a modifiable lvalue. It can be of any arithmetic type (integer or floating-point) or a pointer to a completely defined object type.
* **Right Operand (`expression`):** Must be an arithmetic type. If the left operand is a pointer, the right operand must be an integer type.

**Type Conversion and Mechanics**

* **Arithmetic Types:** When both operands are arithmetic, the compiler applies the usual arithmetic conversions to determine a common type for the subtraction. After the subtraction is performed, the result is implicitly truncated or promoted back to the type of the left operand before the assignment occurs.
* **Pointer Types:** When the left operand is a pointer, the operator performs pointer arithmetic. The integer right operand is scaled by the size of the type the pointer points to. The pointer's memory address is decremented by `expression * sizeof(*lvalue)` bytes.

**Return Value**
The result of the `-=` operation is the new value of the left operand after the assignment has occurred. The type of the result is the type of the left operand. In C, this resulting value is an *rvalue*, meaning the expression itself cannot be placed on the left side of a subsequent assignment operation.

<div
  style={{ 
display: "flex", 
justifyContent: "space-between", 
alignItems: "center", 
maxWidth: "754px", 
padding: "1rem 0",
marginBottom: "24px"
}}
>
  <span style={{ fontWeight: "bold", fontSize: "1.25rem", color: "var(--tw-prose-headings)", fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif" }}>Tired of Poor C Skills? Fix That With Deep Grasping!</span>

  <a
    href="https://syntblaze.com"
    target="_blank"
    style={{ 
  marginLeft: "24px",
  textDecoration: "none", 
  backgroundColor: "#007AFF",
  color: "#ffffff", 
  padding: "6px 16px", 
  borderRadius: "16px",
  fontSize: "0.9rem",
  fontWeight: "600",
  textAlign: "center",
  transition: "background-color 0.2s ease"
}}
  >
    Learn More
  </a>
</div>

<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/skill-tracking.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=b9b0305c93bb501c9e767b5c76c88835" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/skill-tracking.png" />

  <img src="https://mintcdn.com/syntblazellc/23tyuOzaWS88qFlc/images/nuggets.png?fit=max&auto=format&n=23tyuOzaWS88qFlc&q=85&s=c86c80197299762989e9b882419b2109" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/nuggets.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/bite-sized-exercises.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=a65f9a38c37ff28ab73ed783c53c60e3" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/bite-sized-exercises.png" />
</div>

<div style={{ display: "flex", gap: "12px", flexWrap: "wrap", marginTop: "12px" }}>
  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/mastery-chain.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=748a1763454713e679260fbb95f154a2" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/mastery-chain.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/element-previews.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=242f61448ff5dd6deaaab2dccc13b507" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/element-previews.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/element-explanations.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=cf0fc1c31f9cd0fc26716781be05fbc9" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/element-explanations.png" />
</div>
