1. 程式人生 > >計算機二級-C語言-程式修改題-190108記錄-字串處理

計算機二級-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);

}