VS CRT C标准库函数strrev解析
char * t_strrev (char * string)
{
char *start = string;
char *left = string;
char ch;
while (*string++) /*此時指針變量指向\0后面一個*/
;
string -= 2;//指針住前移,指向最后一個字符的指針
while (left < string)
{
ch = *left;//首字符賦值給中間變量ch
*left++ = *string;//指針自增,并把最后一個字符,賦值給第一個字符
*string-- = ch;//指針自減,把第一個字符賦值給最后一個字符
}
return(start);//返回字符串
}
需要理解的知識:
指針的自加 ,自減運算也是地址運算
m = * p ++ 等價于 m = *(p ++)
取指針 p 當前所指變量的值賦給變量 m ; p 做加 1 運算 , 指向下一個目標變量 .
m = * ++ p 等價于 m = * ( ++ p)
p 做加 1 運算 , 指向下一個目標變量 ; 取指針 p 當前所指變量的值賦給變量 m .
m = (*p)++ 與 m = ++(*p)
前者是將指針 p 所指的變量的值賦給變量 m , 然后變量 *p 自加 1 ;
后者是將指針 p 所指的變量 *p 的值自加 1 后賦給變量 m .
轉載于:https://www.cnblogs.com/tanweizlf/archive/2012/11/12/2767168.html
總結
以上是生活随笔為你收集整理的VS CRT C标准库函数strrev解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++为什么使用指针---堆和栈的区别
- 下一篇: 又翻出来老电视剧看了看....