獻給瑩瑩
1.一些記錄
1.C++將數(shù)組名解釋為其第一個元素的地址胎撇。
cookies == & cookies[0]
該判斷將輸出true
相似的還有:
arr[i] == *(arr+i)
&arr[i] == arr+i
以上判斷結(jié)果均為true
2.一些輸入的區(qū)別(cin疹蛉、cin.get()亏较、cin.getline()袄友、getline()捉貌、gets())
-
2-1 cin
“>>” 是會過濾掉不可見字符(如 空格 回車,TAB 等) 暖侨,如果不想過濾椭住,可以使用:
cin>>noskipws>>input[j]
noskipws即no skip whitespace(空白)
-
2-2 cin.get()
cin.get(字符數(shù)組名,接收字符數(shù)目)
用來接收一行字符串,可以接收空格
注意:對于cin.get(test,10)實際上只能接收9個字符,因為需要一個‘\0’來結(jié)尾
或者也可以用來接收一個字符
cin.get(字符變量名)
-
2-3 cin.getline()
cin.getline()有三個參數(shù)
cin.getline(接受字符串,接受個數(shù),結(jié)束字符)
例如
cin.getline(m,5,'a');當輸入jlkjkljkl時輸出jklj字逗,輸入jkaljkljkl時京郑,輸出jk
-
2-4 getline
接受一個字符串,可以接收空格并輸出葫掉,需包含“#include<string>”
string str;
getline(cin,str);
cout<<str<<endl;
也有三個參數(shù)些举,即也可以控制結(jié)束字符
-
2-5 gets()
cin不接受空格,TAB等鍵的輸入俭厚,遇到這些鍵户魏,字符串會終止
而gets()則接受連續(xù)的輸入,包括空格挪挤,TAB
char str[20];
gets(str);
cout<<str<<endl;