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

2024-01-22 19:58:05 浏览数 (2)

基础知识:

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

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

2.对字符串常用gets,puts

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

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

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

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

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

4.初始化规则:

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

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

例:

代码语言:javascript复制
#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的内容倒过来

代码语言:javascript复制
#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("%sn", arr1);
	return 0;
}

0 人点赞