C语言题.

[复制链接]
查看11 | 回复1 | 2010-9-17 11:33:11 | 显示全部楼层 |阅读模式
有以下程序
#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);
}
不理解。。

回复

使用道具 举报

千问 | 2010-9-17 11:33:11 | 显示全部楼层
输出gfedcba这个程序的意思就是反转字符串 #include void f(char *s, char *t){ char k;
k=*s; *s=*t; *t=k; //交换s指向的字符和t指向的字符
s++; t--;
//s向后移动,t向前移动
if(*s) f(s,t); //s没有到末尾,则继续交换,到末尾了,就退出}main(){char str[10]="abcdefg",*p;
p=str+strlen(str)/2+1;
//p现在指向e
f(p,p-2);
//p指向e,p-
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行