C语言基础:使字符串倒序输出

C语言基础:使字符串倒序输出

1. 用字符指针作形参

例1:

void reverse1(char *s)
{ 
	char* p=s+strlen(s)-1;
    char t;
    while(s<p)
	{ 
		t=*p;
		*p=*s;
		*s=t;
		p--;
		s++;
	}
}
int main(void)
{ 
    char str[128];
    scanf("%s", str);
    reverse1(str);
    printf("%s\n", str);
    return 0;
}

例2:

void reverse2(char *s)
{ 
	int i,j;
	char p;
	j=strlen(s);
	for(i=0;i<j/2;i++)
	{ 
		p=s[i];
		s[i]=s[j-i-1];
		s[j-i-1]=p;
	}
}
int main()
{ 
	char str[128];
	scanf("%s",str);
	reverse2(str);
	printf("%s\n",str);
	return 0;
}

2. 用字符数组作形参

例3:

void reverse3(char s[])
{ 
	int i,j;
	j=strlen(s);
	for(i=j-1;i>=0;i--)
		printf("%c",s[i]);
	printf("\n");	
}
int main()
{ 
	char str[128];
	scanf("%s",str);
	reverse3(str);
	return 0;
}

例4:

char *reverse4(char s[])
{ 
	int i,j;
	char *p;
	//动态申请了一个内存大小为128字节的数组,然后把地址存在b中,b可视为一个128字节的字符数组。
	char *b = new char[128];//堆区开辟空间
	//将字符数组初始化
	memset(b, 0, 128);
	j=strlen(s);
	for(i=0;i<j;i++)
		b[i]=s[j-1-i];
	p=b;
	return p;
}
int main( )
{ 
    char str[128];
    scanf("%s", str);
    reverse4(str);
    printf("%s\n",reverse4(str));
    return 0;
}

运行结果:
输入:abcdefg
输出:gfedcba

——>以上内容是关于如何用C语言实现字符串倒序输出,希望对初学者或再次学习者有所帮助,基础打扎实,不怕风吹雨打! 如果以上内容有错误或者内容不全,望大家提出!我也会继续写好每一篇博文!

待续未完
——文优

欢迎观看和提问!!!

下一篇:C语言基础:求结构体数组中的最大值并按序输出

    原文作者:文优
    原文地址: https://blog.csdn.net/qq_40695970/article/details/112254067
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞