» 首页 » 电脑_数码 » 编程 » 求助,分析一段C程序

求助,分析一段C程序

#include<stdio.h>

void main()

{
int print(char*);
char s[20]="how do you do";
print(s);

}
int print(char*string)
{
char*str=string;
if(*str=='{ask}')return 0;
while(*str)str++;
--str;
printf("%c",*str);
*str='{ask}';
print(string);
}
对那个函数理解不到,请高手分析下


int print(char*string)
{
char*str=string; //字符指针指向字符串首地址
if(*str=='{answer}')return 0; //如果字符串指针指向首地址的值是字符串结束标志 返回0值
while(*str)str++;//如果指针指向的值不是结束标志 指针指向字符串的下一个元素 移动到最后它会指向结束标志 退出循环
--str; //让指针指向最后一个元素 而不是结束标志
printf("%c",*str); //打印字符
*str='{answer}';// 用结束符代替这个字符
print(string); //这是一个递归调用 又把首地址给了指针 进行循环
}
目的就是反向输出字符串
希望能让你明白

int print(char*string)
{
char*str=string; //字符指针指向字符串首地址
if(*str=='{answer}')return 0; //如果字符串指针指向首地址的值是字符串结束标志 返回0值
while(*str)str++;//如果指针指向的值不是结束标志 指针指向字符串的下一个元素 移动到最后它会指向结束标志 退出循环
--str; //让指针指向最后一个元素 而不是结束标志
printf("%c",*str); //打印字符
*str='{answer}';// 用结束符代替这个字符
print(string); //这是一个递归调用 又把首地址给了指针 进行循环
}
目的就是反向输出字符串
希望能让你明白

 相关问题
·求助,分析一段C程序
·Verilog HDL 小问题
·div+ccs排版高手请进
·有谁知道字母R外面加个圈是什么意思
·未解决error code=204 请进
·解释下Q basic 的一个问题
·JS代码的实现
·谁XH我呀?
·速求VF上机学习心得~!!
·C#开发的程序是否可以在没有安装net framework的环境下运...
·日期函数急急!~~年月日减年月日
·在字符串中加\"\"号,怎么办?
·网页上有错误,什么原因?
·php中如何把一个字符串转换成整数形式?
·ASP和Access数据库问题--要求部分字段显示,并加上删除的...

 《求助,分析一段C程序》答案收集时间:2008-06-14 14:48:32



©2007 电脑技术问答录