计算机二级-C语言-程序修改题-190108记录-字符串处理
//程序修改题:给定程序MODI1.C中函数fun的功能是:先将字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“ABCDEEDCBA”。
//重要点:字符串结尾都是“\0”结尾。strlen()函数不获取'\0'这个长度,对字符串进行处理就是把字符串放入数组,然后遍历处理。
#include <stdio.h>//scanf()函数和printf()函数都是在该头文件下定义的
#include <string.h>//strlen()函数在该头文件下定义
void fun(char *s,char *t)//传过来的参数s和t不需要定义就可以使用,定义为*s指针形式,但是使用的时候可以用数组形式使用。
{
int i,s1;
s1=strlen(s);//这个函数不获取'\0'这个长度
for(i=0;i<=sl;i++)//错误1:s1为5,这里会执行六次,不正确,sl书写错误,更正为s1.
t[i]=s[i];
for(i=0;i<s1;i++)
t[s1+i]=s[s1-i-1];
t[s1]='\0';//注意这里不要掉以轻心,s1为长度变量,为5,没有变动过,改为2*s1.
}
main()
{
char s[100],t[100];
printf("\nPlease enter string s:");
scanf("%s",s);//输入函数,若是变量需加&(例如:&s),函数直接写数组首地址即可。
fun(s,t);
printf("The result is:%s\n",t);
}