數字儲存在整數array,其array的一個元素位置可同時儲存多個數字,但數字儲存於字元array,其array的一個元素僅可儲存單個數字型態字元.故字元陣列能自動分配一串數字儲存位置,但數字陣列則無法自動分配一串數字儲存位置.故數字陣列僅能以單一元素格式輸入.
字元array以cin>>array,cin.get(array,n),cin.getline(array,n)或string類別s物件以cin>>s或getline(cin,s)
輸入整數型態字元時,每個字元array元素位置僅可接收儲存一個個位整數型態字元.而不能接收儲存兩位數以上整數型態字元(即不能儲存二位數的十位數或三位數的百位數以上等等...)
cin.get()與cin.getline()只能使用字元陣列為參數 ( cin.get(char[m],n) ),不能使用以整數陣列為參數 ( cin.get(int[m],n) )
因整數陣列的一個元素可儲存多位數數字,以cin>>i (int i[n])輸入一串數字給整數陣列,將無法分辨該儲存於陣列的哪個元素位置,故僅能使用陣列單一個別元素輸入格式.不可使用整個陣列輸入格式.
int main(void)
{
int i[10];
cin>>i[0];
cin>>i; //錯誤格式.
cout<<"i[0] = "<<i[0]<<endl;
system("pause");
return 0;
}
因字元陣列每個元素僅可儲存單個字元(無論是一般字元或整數型態字元),故同時輸入一串字元,可自動分配所輸入一串字元的儲存位置,以cin>>array輸入,可使用整個陣列輸入格式或陣列單一個別字元輸入格式.
int main(void)
{
char ch[10];
cin>>ch;
cout<<"ch = "<<ch <<endl;
cin>>ch[0];
cout<<"ch = "<<ch <<endl;
cout<<"ch[0] = "<<ch[0]<<endl;
system("pause");
return 0;
}
留言列表