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

#include<stdio.h>#include<string.h>voidprintit(char*str,intlength){inti;for(i=length-... #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;
}
求解释
展开
 我来答
sdyxb
推荐于2017-12-16 · TA获得超过1923个赞
知道小有建树答主
回答量:568
采纳率:0%
帮助的人:374万
展开全部
#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;
}
bdjeking
2012-12-31
知道答主
回答量:39
采纳率:0%
帮助的人:11.8万
展开全部
是这样的
你的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)); //这个是输出当前指向的字符串的那一位的值
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb116dc
2012-12-31 · TA获得超过687个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:459万
展开全部
#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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c28f3d1
2012-12-31 · TA获得超过242个赞
知道答主
回答量:164
采纳率:0%
帮助的人:71.4万
展开全部
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b09ddb
2013-01-01 · 超过27用户采纳过TA的回答
知道答主
回答量:211
采纳率:0%
帮助的人:122万
展开全部
这题目我前几天才作的
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式