Char *Temp = "adfasd=12";char *Tail = strchr(Temp, '=');*Tail++ = 0;執(zhí)行之后,Temp的值為"adfasd"Tail的值為12Why?
1 回答

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
Strchr()函數(shù)是用來判斷一個字符是否在一個字符串中出現(xiàn),這個函數(shù)的語法如下:
Strchr(str,chr);
其中,str是字符數(shù)組或則字符串,chr是包含要搜索的值的字符變量,如果要搜索的值在字符串中出現(xiàn),該函數(shù)將返回一個指向這個字符位置的指針,如果未出現(xiàn),則返回NULL。
char *Tail = strchr(Temp, '=');
該語句執(zhí)行后字符串指針 Tail 指向 '=' 字符
*Tail++ = 0;
先將 Tail 指針指向的位置的字符替換成 0(字符串結(jié)束標(biāo)記), 然后 Tail 指針向后移動一個字符,執(zhí)行結(jié)束后 Tail 指向'1'; 此時 Temp 指向的的字符串
被分割成兩個字符串,分別是 "adfasd" 和 "12";
Temp 指向 "adfasd", Tail 指向 "12"
添加回答
舉報
0/150
提交
取消