12345678910111213141516171819202122232425 |
- // partb.c -- rest of the program
- // compile with parta.c
- #include <stdio.h>
- extern int count; // reference declaration, external linkage
- static int total = 0; // static definition, internal linkage
- void accumulate(int k); // prototype
- void accumulate(int k) // k has block scope, no linkage
- {
- static int subtotal = 0; // static, no linkage
-
- if (k <= 0)
- {
- printf("loop cycle: %d\n", count);
- printf("subtotal: %d; total: %d\n", subtotal, total);
- subtotal = 0;
- }
- else
- {
- subtotal += k;
- total += k;
- }
- }
|