helloworld


私信TA

用户名:Jenkins

访问量:406

签 名:

等  级
排  名 8642
经  验 1214
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
写一个函数,输入数组后,数组内元素循序逆转

主函数输入数组-->经过函数转换-->主函数输出数组
参考代码:

#include<stdio.h>
#include<string.h>
void invert(char*s);
int main()
{
	int i;
	char a[100];
	scanf("%s", &a);
	invert(a);//经过函数后,s[]完成逆序,直接输出
	printf("%s", a);
	return 0;
}
void invert(char*s)//函数只需要输入一个字符串数组(*s或s[]),没有输出,所以用void
{
	char is[100];//新建一个数组is[],寄存倒序后的原数组s[]
	int i, j;
	for(i=strlen(s), j=0; i>0; j++){//把原数组s[]从后开始,放进数组is[]
		i--;
		is[j] = s[i];
	}
	is[j] = '\0';//最后给is[]加个结束符号
	strcpy(s, is);//整个把is[]复制给s[],完成对s[]的逆序
}

注意事项:

函数内外的数组一定要确定大小,不然用以运行错误(像我就一直出错,还没发现),例如:

char a[]; //是错误的
char a[100]; //是正确的
 

0.0分

0 人评分

  评论区

  • «
  • »