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

C語言練習實例43:static靜態局部變量保持值

     編輯:C 語言實例練習

C語言練習實例43:static靜態局部變量保持值

本實例對比 static 與普通局部變量(隐式 auto)在塊作用域中的生命週期差異。

程序邏輯

  • 外層循環 3 次,每次遞增外部 num(2→3→4)。
  • 內層塊定義 static int num = 1,首次初始化為 1,之後每次進入塊保持上次值(1→2→3)。
  • 對比:若改為 auto(實例42),每次進入塊重新初始化為 1。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>

int main() {
    int i, num;
    num = 2;
    for (i = 0; i < 3; i++) {
        printf("num 變量為 %d \n", num);
        num++;
        {
            static int num = 1;
            printf("內置模塊 num 變量為 %d\n", num);
            num++;
        }
    }
    return 0;
}

運行結果

num 變量為 2
內置模塊 num 變量為 1
num 變量為 3
內置模塊 num 變量為 2
num 變量為 4
內置模塊 num 變量為 3
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved