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;
}

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
for(i=length-1;i>=0;i--) \/\/从给定的字符串的最后一位依次向前遍历各字符 putchar(*(str+i)); \/\/每向前一个字符即打印该字符,直至第一个字符为止。}int main(){ char str[80]=""; \/\/定义一个长度为80字节的字符串数组,并初始化gets(str); \/\/从键盘中输入一个字符串(遇回车键结束)printit(...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
strcmp(string ,string )---比较2个字符串,0为相同,>0前1个大,<0后1个大 strlen(string )---字符串长度

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
第一,你在调用char yuan(char a)后,用什么来接受它的返回值?对吧,在主函数中根本没有任何char组来接受它。你似乎可以将 gets(a);后的语句改写成 a = yuan( a ); 然后输出。告诉你这也样行不同的,只因为接下来的第二点。第二,你的yuan函数设计有问题。你犯了一个初学者很容...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
include <string.h> void input(char st[]);\/\/定义输入函数 void reverse(char st[]);\/\/定义反序函数 int main(){ char s[20];input(s);\/\/调用输入函数 printf("Original string: %s\\n", s);\/\/输出原字符串 reverse(s);\/\/调用反序函数 printf("New string: %s\\n", s);\/\/输出...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
include <stdio.h>#include <stdlib.h>#define N 10void fanzhuan(char* a);int main() {int i;char a[N]={'\\0'};printf("请输入字符串:");scanf("%s",a);fanzhuan(a);return 0;}void fanzhuan(char* a){int i;for(i=strlen(a)-1;i>=0;i--){printf("%c",a[i]);}...

C语言 请帮忙改正以下程序的错误 :写一个函数,使输入的一个字符串按反...
\/\/ 作者: 点点点呀呀呀 \/\/ 函数功能:反转c型字符串 \/\/ 修改: Poseidon0922 include <stdio.h> include <string.h> void fanxu(char *dst, const char *src);int main(void){ char str0[100];char str1[100];gets(str0);fanxu(str1, str0);puts(str1);return 0;} void fanxu...

C语言 写一个函数使输入的一个字符串按反序存放
编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符。可以设置一个中间值,让两端的字符相交换,然后前头的向后移动一位,后头的向前移动一位。当前头的变量大于中间值时。程序停止执行。根据此原理编写代码如下:include<stdio.h> define N 100 void inverse(char[]);int main(...

...在主函数中输入和输出字符串。用C语言解答,尽量好懂一点。
include<stdio.h> include<string.h> main (){ char c[81],a;int i,n;gets(c);n=strlen(c);\/\/测字符长度 for(i=0;i<n\/2;i++){a=c[i];c[i]=c[n-i-1];c[n-i-1]=a;}\/\/第一个与最后一个字符交换...puts(c); \/\/ 二 倒第二个 交换...return 0;} 调...

...的字符串按反序存放,在主函数中输入和输出字符串。
文件1:include <stdio.h> define N 6 \/\/static char str[N]; 这个没必要 int f (char); \/\/声明flashback函数. \/\/ 声明放外面,好的习惯 int main(){ char str[N] = "abcde";printf("原字符串:\\n");puts (str);f (str[N]); \/\/调用flashback函数.printf("倒序后的字符串...

...个字符串按逆序存放。在主函数中输入和输出字符串。
include <stdio.h>#include <string.h>\/\/ 反序字符串x并返回char* reverse(char *x){ int len = strlen(x); int i, n = len \/ 2; char tem; for (i = 0; i <= n; i++) { tem = x[i]; x[i] = x[len - 1 - i]; x[len - 1 - i] =...

相似回答