第四章作業-串-計算機17級
解析在後面
解析:
p1-1:
當s1<s2時,返回為負數;
當s1==s2時,返回值= 0;
當s1>s2時,返回正數。
即:兩個字元串自左向右逐個字元相比(按ASCII值大小相比較),直到出現不同的字元或遇'\0'為止。如:
特別注意:strcmp(const char *s1,const char * s2)這裡面只能比較字串,即可用於比較兩個字串常量,或比較陣列和字串常量,不能比較數字等其他形式的引數。
ANSI標準規定,返回值為正數,負數,0 。而確切數值是依賴不同的C實現的。
p1-2:
這裡的0其實就是'\0'
p1-4:
該函式將指定的表示式的值所對應的字元
p1-5:
gets():從stdio流中讀取字串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指標所指向的字元陣列中。換行符不作為讀取串的內容,讀取的換行符被轉換為‘\0’空字元,並由此來結束字串。
puts():puts()函式用來向標準輸出裝置(螢幕)輸出字串並換行,具體為:把字串輸出到標準輸出裝置,將'\0'轉換為回車換行。其呼叫方式為,puts(s);其中s為字串字元(字串陣列名或字串指標)。
gets()函式從標準輸入(鍵盤)讀入一行資料,所謂讀取一行,就是遇到換行符就返回。gets()函式並不讀取換行符'\n',它會把換行符替換成空字元'\0',作為c語言字串結束的標誌。
gets()函式經常和puts()函式配對使用,puts()函式用於顯示字串,並自動在字串後面新增一個換行標誌'\n'。
x2-1:
字元陣列、字元指標處理字串; 字元陣列在記憶體中佔用連續的單元,確定地址,每個陣列元素放字串的一個字元,字串就存放在陣列中; 字元指標只佔用一個可以存放地址的記憶體單元,存放字串首字元的地址,而不是將字串放到字元指標變數中去;
x2-2:
str指向“abcdefgh”
t 指向“abcdefgh”
p指向“abcdefgh”
strlen(t)= 8;
p一開始指向“a”,+4指向“e”,因此最終指向“efgh”