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

如题所述

#i

#include<stdio.h>

#include<string.h>//使用字符串函数时头文件

int str(char a[20],char b[20])//定义两个字符型数组

{

int i,j,k;

j=strlen(a);//测试字符串长度;

i=0;

k=j-1;

while(i<j)

{

b[k]=a<i>;//互换值;

i++;

k--;

}

return 0;

}

int main()

{

char c[20];

char d[20];

int i,l;

//gets(c);//输入字符串;

scanf("%s",c);//另一种方式;如果输入的是字符串,则不需要加地址符,因为在c语言中数组名代表该数组的起始地址;

l=strlen(c);//测试字符串长度;

str(c,d);//调用函数;

for(i=0;i<l;i++)

{

printf("%c",d<i>);//输出数值;

}printf("\n");

printf("%s",d);//直接输出字符串,此时输出的是字符数组名,而不是数组元素名;

return 0;

}

输入

一行字符

输出

逆序后的字符串

样例输入

123456abcdef

样例输出

fedcba654321

扩展资料:

scanf用法:

输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。

scanf("%s",s);改为scanf("%s",&s);

scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);

格式控制字符串包含:格式控制说明,普通字符。

1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。

3、输入的参数是变量的地址,所以要在变量前面加&。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-18
#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;
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

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