计算机二级-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);

}

posted @ 2019-01-08 12:20  小大大小  阅读(803)  评论(0编辑  收藏  举报