#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define SIZE 10//宏定義常量
int main01()
{
//int arr [10] ={1,2,3,4,5,6,7,8,,9,10};
//int arr [10] ={1,2,3,4,5};//其余為空值,用0補齊
//int arr [10]= {0}//都是0
//int arr [10] ;//開辟了10個數組內存空間,亂碼
int arr [] ={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//可加值 ,程序不需要修改
for(int i = 0; i<sizeof (arr) /sizeof (arr [0]); i++)
{
printf("%d\n", arr [i]);
}
return 0;
}
int main02()
{
//數組元素必須是常量或常量表達式;數組必須預先知道大小; 動態改變:動態數組 開辟堆空間
//int i=10;//err
//int arr [i];//err
int arr [SIZE];//上面需要宏定義SIZE常量
for(int i = 0; i < SIZE; i++)
{
scanf("%d",& arr [i]);//通過for循環10次,輸入10個值,放在對應的內存中
}
for(int i = 0; i < SIZE; i++)
{
printf("%d\n",arr [i]);//通過for循環10次,依次打印10個值
}
return 0;
//結果
}
int main03()
{
int arr [10]={1,2,3,4,5,6,,7,8,9,10};
//printf("%d\n", arr[-1]);下標越界
//printf("%d\n", arr[10]);下標越界
for(int i=0; i<20;i++)
{
printf("%d\n",arr [i]);
}
return 0;
//數組有10個元素,下標0—9;for(int i=0; i<20;i++)里是0—19。導致數組下標越界,運行時異常(可能會報錯,因為並不是所有的內存都允許用戶讀取)
//結果
}