问题描述
- 这一小段c程序怎么理解?
- int main(void)
{
char str[81];
char *p temp;
int inlength;
gets(str);
for (p = stri=0n = strlen(str); i<n/2; i++)//将整个字符串倒序
{
temp = *(p+n-1-i);
*(p+n-1-i) = *(p+i);
*(p+i) = temp;
}
puts(str);p = str;
length=0;
解决方案
for实现的功能就是第一个和倒数第一交换,第二个和倒数第二个交换,第三个和倒数第三个,依次,直到中间
解决方案二:
指针真的是个挺好玩的东西,不过我是搞Java的,把指针本身的地址,指针引用的地址,指针的含义琢磨琢磨,学c逃不掉的坎。咬咬牙慢慢啃
解决方案三:
将字符串倒序for循环将第n个和倒数第n个调换,实现倒序功能
解决方案四:
主要是for循环里指针的理解,里面是进行的是首尾交换。学指针的时候不好理解就举个简单理解画图,单数、双数个字符的字符串,少一点点,然后耐心的推演两遍就明白了。
解决方案五:
如一楼所说,将字符串以中心为界,对称字符互换。
时间: 2024-09-11 03:50:11