1. 程式人生 > >第四章作業-串-計算機17級

第四章作業-串-計算機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:

該函式將指定的表示式的值所對應的字元

輸出到標準輸出終端上。表示式可以是字元型或整型,它每次只能輸出一個字元。[2] 例如:“putchar('#')”輸出字元“#”。

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”