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

C 語言陣列部分初始化:剩餘元素自動歸零特性示範

     編輯:關於C

程式碼

#include <stdio.h>

int main(void) {
    int a[11] = {1,4,6,9,13,16,19,28,40,100};  // 僅給 10 個初始值
    int i, number, temp1, temp2, end, j;

    puts("原始陣列(含自動歸零的第 11 元素):");
    for (i = 0; i < 11; ++i) printf("%5d", a[i]);
    putchar('\n');

    printf("請輸入欲插入的數字:");
    scanf("%d", &number);

    end = a[9];  // 目前最大值(已排序假設)
    if (number > end) {
        a[10] = number;
    } else {
        for (i = 0; i < 10; ++i) {
            if (a[i] > number) {
                temp1 = a[i];
                a[i] = number;
                for (j = i + 1; j < 11; ++j) {
                    temp2 = a[j];
                    a[j] = temp1;
                    temp1 = temp2;
                }
                break;
            }
        }
    }

    puts("插入後陣列:");
    for (i = 0; i < 11; ++i) printf("%6d", a[i]);
    putchar('\n');
    return 0;
}

執行結果

原始陣列(含自動歸零的第 11 元素):
    1    4    6    9   13   16   19   28   40  100    0

重點

  • C 標準規定:靜態/陣列/結構體部分初始化時,未指定元素自動以 0 初始化(整數為 0,指標為 NULL,浮點為 0.0)。
  • 此特性常用於「預留空位」的演算法(如插入排序、動態陣列擴容)。
  • int a[11] = {0}; 可一次將全陣列歸零。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved