計算機二級-C語言-程式修改題-190108記錄-字串處理
阿新 • • 發佈:2019-01-08
//程式修改題:給定程式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);
}