写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串

/*写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串*/

#include <stdio.h>
#include <string.h>

//反序存放的函数
int fun1(char c[50]) 
{
	char i,j,t;
	j = strlen(c) - 1;
	
	for(i = 0;i < strlen(c) / 2;i++,j--)
	{
		t = c[i];
		c[i] = c[j];
		c[j] = t;
	}
}

int main()
{
	char c[50];
	
	printf("请输入字符:\n");
	gets(c);
	
	fun1(c);
	
	printf("反序存放后:\n");
	puts(c);
}

谭浩强C程序设计(第四版)p218第5题,这个是直接在原字符数组进行反序存放的,还可以再使用一个字符数组

/*写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串*/

#include <stdio.h>
#include <string.h>

//反序存放的函数
char* fun1(char c[50],char a[50])
{
	
	int i,j;
	
	for(i = (strlen(c)- 1),j = 0;j < strlen(c);i--,j++)
	a[j] = c[i];

	return a;
}

int main()
{
	char c[50],a[50];
	int i;
	
	printf("请输入字符:\n");
	gets(c);

	fun1(c,a);
	
	printf("反序存放后:\n");
	for(i = 0;i < strlen(c);i++)
	printf("%c",a[i]);
}

复习:
1.可以return返回数组的地址,但这个数组只能是形参。
2.数组a没有输入值,所以直接用puts会出现输出垃圾值的现象。

发布了87 篇原创文章 · 获赞 9 · 访问量 8572

猜你喜欢

转载自blog.csdn.net/qq_40834200/article/details/105099439
今日推荐