close

數字儲存在整數array,其array的一個元素位置可同時儲存多個數字,但數字儲存於字元array,其array的一個元素僅可儲存單個數字型態字元.故字元陣列能自動分配一串數字儲存位置,但數字陣列則無法自動分配一串數字儲存位置.故數字陣列僅能以單一元素格式輸入.

 

字元array以cin>>array,cin.get(array,n),cin.getline(array,n)或string類別s物件以cin>>sgetline(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;

arrow
arrow
    全站熱搜

    minsin 發表在 痞客邦 留言(0) 人氣()