C語言筆試題 幾種字串的操作函式

2021-10-19 22:56:24 字數 2267 閱讀 9150

大部分公司的筆試題都會涉及到寫乙個字串的操作函式,並且不呼叫庫函式。

雖然這些函式經常都會用到,但是在筆試現場還真不一定能做對,要保證寫出來還要寫對還是需要看平時的積累的,畢竟筆試的時候沒有機器給你除錯,就只有看個人對**的理解了,所以,多練習是沒錯的,畢竟機會難得。

1.strcpy() 字串拷貝函式

//將src裡面的字串拷貝到dest

char

*mystrcpy

(char

*dest,

const

char

*src)

char

*ret = dest;

while((

*dest++

=*src++)!=

'\0');

return ret;

}

注意:返回乙個char*指標是為了實現鏈式表示式,如 :

int len =

strlrn

(mystrcpy

(dest,

"hello world"))

;

2.strcmp()字串比較函式

strcmp(s1,s2):

1、兩個字串從左到右按照 acsii 碼值大小比較,直到出現不同的字元或者遇到』\0』為止;

2、若出現不相同的字元,則以第一對不相同的字元的比較結果為準;

3、字串1等於字串2,函式值為0,字串1大於字串2,函式值為正整數,字串1小於字串2,函式值為負整數;

int

mystrcmp

(const

char

*str1,

const

char

*str2)

if(ret>0)

return1;

if(ret<0)

return-1

;return ret;

}

3.strcat()字串連線函式

strcat(str1,str2) 將字串str2拼接在str1後面;

char

*mystrcat

(char

*dest,

const

char

*src)

while

((dest[i++

]= src[j++])

!='\0');

return dest;

}

4.將字串轉化整型數atoi()

int

strtonum

(char

*str)if(

*str ==

'-'||

*str ==

'+')

while

(*str !=

'\0')}

return flag*ret;

}

5.整型數轉化為字串

注意,如果是負數,不能取餘,要變成正數之後用;

char

*numtostr

(int nums,

char

* str)

if(nums <0)

str[0]

='-'

; str[i]

='\0'

;//字串結束標誌

}else

str[i]

='\0'

;//字串結束標誌

}//str[i] = '\0';//字串結束標誌

return str;

}

6.strstr()判斷乙個字串裡面是否包含另乙個字串

bool my_strstr

(const

char

*s1,

const

char

*s2)

return false;

}

7.刪除指定字串的字元;

8.刪除乙個字串包含的字串

9.乙個字串**現的字元最多的次數;

10.判斷字串中有多少個單詞;

11.將字串中的單詞倒序(只改變單詞順序,不改變字母);

12.將字串倒過來排列;

字串筆試題

1 輸入乙個整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 思路 依次掃瞄字串,每掃到乙個字元,把之前的得到的數字乘以10再加上當前字元表示的數字。注意 還可能包括 或 表示整數的正負。需要特殊處理 考慮非法輸入 1 判斷指標是否為空 2 輸入的字串可能不是數字的字元,...

c語言string h中常用的字串操作函式

根據指定字元切分字串char strtok char str1,char str2 char input 26 i,am,a,boy char p p strtok input,while p 字串反轉char strrev char str char forward string printf b...

有關字串的筆試題

小總結 1.轉換字串格式為原來字串裡的字元 該字元連續出現的個數 1233422222轉換為1121324125 思路 兩個vector來存放,乙個存放字元,乙個存放次數 void printchte string str mytime.push back time mychar.push back...