枣庄有高铁站吗:c++程序分析

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 03:15:36
分析程序,每行都要写出注释,然后分析结果,再简要说说程序的思想,给20分不少吧,要是说的好还给加
#include <iostream.h>
int strlen1(char a[]);
void main()
{
char s[]="abcdefg";
char *p;
int n=strlen1(s);
for(p=s+n-1;p+1!=s;p--)
cout<<*p;
cout<<endl;
}
int strlen1(char a[])
{
char *p=a;
int i=0;
while(a[i++]!='\0')
p++;
return p-a;
}

结果:
gfedcba
<回车> (似乎和楼上的不大一样~你自己试就知道了)

#include <iostream.h> //头文件
int strlen1(char a[]);//函数声明
void main()
{
char s[]="abcdefg"; //定义一个字符数组,就是C系列语言里面的字符串表示方式
char *p;//声明字符型指针
int n=strlen1(s); //调用自函数strlen1获取s的长度
for(p=s+n-1;p+1!=s;p--) //s+n-1的意思就是字符串s指针向右偏移n位,再减1是因为C系列语言的字符串下标以0开始。p+1!=s的意思就是直到字符串的开头处,因为如果到了开头,s指向a,而p+1不一定指向什么,实现从后到前指向字符串的每个字符。
cout<<*p; //输出当前指针内容
cout<<endl; //换行
}
int strlen1(char a[]) //算数组a的长度
{
char *p=a;//声明指针并指向a数组的第一个字符
int i=0;
while(a[i++]!='\0') 指针想后移动,直到指向字符数组的结束符 \0,一切数组都是以\0结尾的,
p++;
return p-a; //这两行求得字符数组长度
}

结果是
g
f
e
d
c
b
a
<回车>

===============================================
#include <iostream.h> //包含头文件,用来操纵输入 输出流
int strlen1(char a[]);//这个函数声明
void main() //主函数声明,基本每个c程序都要
{
char s[]="abcdefg"; //定义一个字符数组,俗称字符串
char *p;//声明字符指针
int n=strlen1(s); //调用strlen1来计算字符串s的长度
for(p=s+n-1;p+1!=s;p--) //由字符串的末尾开始,向前遍历每个字符
cout<<*p; //输出当前字符
cout<<endl; //换行
}
int strlen1(char a[]) //这个函数用来计算a的长度
{
char *p=a;
int i=0;
while(a[i++]!='\0')
p++;
return p-a;
}

...
你找本基本的书看看吧