标题:新手问问题,过来看一下
只看楼主
a462410594
Rank: 2
等 级:论坛游民
帖 子:75
专家分:64
注 册:2011-11-17
结帖率:90%
已结贴  问题点数:15 回复次数:5 
新手问问题,过来看一下
#include
#include
void f(char *s,char *t)
{
  char k;
  k=*s;*s=*t;*t=k;
  s++;t--;
  if(*s) f(s,t);
}
main()
{
  char str[10]="abcdefg",*p;
  p=str+strlen(str)/2+1;
  f(p,p-2);
  printf("%s\n",str);
}
请问“p=str+strlen(str)/2+1;”这个是什么意思呀?谢啦,loveq

搜索更多相关主题的帖子: include  abcdefg   
搜索更多相关主题的帖子: 搜索 abcdefg include 主题 
2012-04-09 16:22
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
得分:15 
p是一个字符指针,指向一个字符串,这句代码先把p的位置定义到str开头的地方,然后移动strlen(str)/2+1个长度,也就是到了中间或中间下一位的位置,这样输出p所指向的字符串就是输出str的后半部分

酱油实习生
2012-04-09 17:46
a462410594
Rank: 2
等 级:论坛游民
帖 子:75
专家分:64
注 册:2011-11-17
得分:0 
回复 2楼 墨清扬
那运行的结果是什么呀
2012-04-09 17:58
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:0 
这个就是从中间分开,然后前面的和后面的进行交换,即输出字符串为:gfedcba
2012-04-09 19:21
wyk565542030
Rank: 2
等 级:论坛游民
帖 子:8
专家分:55
注 册:2012-3-30
得分:0 
倒序输出
2012-04-09 20:16
a462410594
Rank: 2
等 级:论坛游民
帖 子:75
专家分:64
注 册:2011-11-17
得分:0 
谢啦
2012-04-09 20:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365445-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.506478 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved