C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串,,求下面程序解释

#include<stdio.h>
#include<string.h>
void printit(char *str,int length)
{

int i;
for(i=length-1;i>=0;i--)
putchar(*(str+i));
}
int main()
{ char str[80]="";
gets(str);
printit(str,strlen(str));
printf("\n");
return 0;
}
求解释

#include<stdio.h>
#include<string.h>
void printit(char *str,int length) //返序输出函数
{

int i;
for(i=length-1;i>=0;i--) //从给定的字符串的最后一位依次向前遍历各字符
putchar(*(str+i)); //每向前一个字符即打印该字符,直至第一个字符为止。
}
int main()
{ char str[80]=""; //定义一个长度为80字节的字符串数组,并初始化
gets(str); //从键盘中输入一个字符串(遇回车键结束)
printit(str,strlen(str)); //调用上面定义的函数反序输出字符串
printf("\n"); //输入一个回车换行符,使后续输出能另起一行
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-31
是这样的
你的printit 函数 接受两个参数 一个是字符串 一个是字符串的长度

int main()
{
char str[80]="";
gets(str); //输入字符串
printit(str,strlen(str));// 调用函数 str 是你输入的字符串 strlen(str)是获取str字符串的长度
printf("\n");//输出修改后的字符串
return 0;

}
//然后
//printit函数 作用是修改字符串
void printit(char *str,int length)
{
int i;
for(i=length-1;i>=0;i--) //i=length-1 代表指向你的字符串的最后一位 然后下一次循环i--说明
//指向字符串的倒数第二位,以此类推

putchar(*(str+i)); //这个是输出当前指向的字符串的那一位的值
}
第2个回答  2012-12-31
#include<stdio.h>
#include<string.h>
void printit(char *str,int length)\\反序输出字符串
{
int i;
for(i=length-1;i>=0;i--)\\循环,反序计数
putchar(*(str+i));\\输出第i个字符
}
int main()
{ char str[80]="";\\定义字符数组
gets(str);\\重输入流中获取输入的字符串存入到str数组中
printit(str,strlen(str));\\传入实参,字符串和字符串长度
printf("\n");\\打印换行符
return 0;
}本回答被网友采纳
第3个回答  2012-12-31
#include<stdio.h> //引用标准输入输出
#include<string.h> //引用string
void printit(char *str,int length)
{
int i;
for(i=length-1;i>=0;i--) //从字符串最后一个字符开始取数,取到第一个
putchar(*(str+i));
}
int main() //程序入口
{ char str[80]=""; //声明字符串
gets(str);//输入字符串
printit(str,strlen(str));//输出反序
printf("\n");//输出回车
return 0;
}
第4个回答  2013-01-01
这题目我前几天才作的
#include
using namespace std;
int main()
{ const int n=5;//这里是5个数,具体有你定
int a[n],i,temp;
cout<<"enter array a:"<<endl;
for (i=0;i<n;i++)
cin>>a[i];
cout<<"array a:"<<endl;
for (i=0;i<n;i++)
cout<<a[i]<<" ";
for (i=0;i<n/2;i++)
{ temp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=temp;
}
cout<<endl<<"Now,array a:"<<endl;
for (i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网