将一个字符串的str的内容颠倒过来,并输出

基础知识:

1.scanf的读取规则有"默认读取到空格结束"

解决方法:scanf("%[^\n]",arr);       作用:“读取到换行结束

2.对字符串常用gets,puts

gets()读取字符串包括空格

put(x)相当于printf("%s\n",  x)     比正常printf会多一个换行

3.字符数组和字符串的区别(有无\0)

例1:char s1[3]={'a','b','c'},s2[4]={'a','b','c','0'};

s1,s2都为字符数组,但是s2同时也是字符串

4.初始化规则:

扫描二维码关注公众号,回复: 15854559 查看本文章

char str[1000]=''abdce'' --------默认后面加\0(即字符串)

5.两种打印字符数组的方式(1.遍历%c  2.直接打印%s

例:

#include<stdio.h>
int main()
{
	char arr1[4], arr2[5];
	scanf("%s", arr1);//&arr1[]
	//方式1(一个一个出来)
	int i = 0;
	for (i = 0; i < 4; i++)
	{
		printf("%c", arr1[i]);
	}
	printf("\n");
	//方式2(一整个出来)
	printf("%s", arr1);
}

输出结果:

———————————————————————————————————————————

题目:将一个字符串str的内容倒过来

#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[10000] = { 0 };
	scanf("%[^\n]", arr1);
	int len = strlen(arr1);
	int left = 0;
	int right = len - 1;
	while (left < right)
	{
		char tmp = arr1[left];
		arr1[left] = arr1[right];
		arr1[right] = tmp;
		left++;
		right--;
	}
	printf("%s\n", arr1);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/YYDsis/article/details/127503222