1.字串的-指標和陣列的區別:
char * str = "hello";
char word = "hello";
字串指標預設為const的(即 const char *),所以唯讀不可寫,(其實具體點是,不能通過str修改"hello"的值,原因見
九章指標與const)。str是乙個指標,初始化為指向乙個字串常量。
如果需要修改字串,應該用陣列。
如果要構造乙個字串->陣列,
如果要處理乙個字串->指標。
#include#includevoid a_c(char );
void a_p(char *);
int main()
void a_c(char a);
char *a=;
4.字串處理函式
strlen 返回字串的長度(不包括結尾0)
size_t mystrlen(const char *s)
strcmp 比較兩個字串,相等返回0,s1>s2,返回差值(正數),s1
int mystrcmp(const char * s1,const char * s2)
*/ //改進版
while(s1[idx] == s2[idx] && s1[idx]!='\0')
idx++;
return s1[idx] - s2[idx];
}
strcpy 把第二個字串拷貝到第乙個字串。 複製字串:char *dst = (char *)malloc(strlen(src)+1); strcpy(dst,src);
char * mystrcpy(char* dst,const char* src)
dst[idx]='\0';
return dst;
}
strcat 把s2連線到s1後面,連線成乙個長字串。
char * mystrcat(char *s1,const char *s2)
strchr 字串中查詢字元,返回此字元開始的指標。
strstr 字串中找字串。
p.s.
'\0'和0等價,即
char s[10]=;
char s[10]=;
是等價的噢。
時間限制
400 ms
記憶體限制
32000 kb
**長度限制
8000 b
判題程式
standard
作者 chen, yue
給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。
輸入格式:測試輸入包含乙個測試用例,在一行內給出總長度不超過80的字串。字串由若干單詞和若干空格組成,其中單詞是由英文本母(大小寫有區分)組成的字串,單詞之間用1個空格分開,輸入保證句子末尾沒有多餘的空格。
輸出格式:每個測試用例的輸出佔一行,輸出倒序後的句子。
輸入樣例:
hello world here i come輸出樣例:
come i here world hello
#include #include int main()
void reverse(char s)
void left(char s,int n){
int len=strlen(s),i;
// printf("%d\n",len);
while(n--){
char a=s[0];
for(i=1;i
10)字串知識
字元 0 ascii值是0 但是0的ascii值是48,所以 strlen遇到 0 就停止 但是 sizeof是測得陣列的長度,包含 0 和0 滑油輸出時 s 也是,遇到 0 就停止輸出了 strcpy 是會把字串的那個 0複製過去的 比如 main 列印出 x y z 1 2 3 4 9 可以看出...
mooc c語言 字串比較 動態陣列
動態分配陣列 include int a int malloc n sizeof int free a 若 a free a 失敗 申請哪個位址還哪個位址因為malloc成功返回 void 所以要型別轉換,沒空間了返回null或0 int p int i p i free p 錯誤free null...
6 8 字串04 比較字串(10 分)
c語言標準函式庫中包括 strcmp 函式,用於字串的比較。作為練習,我們自己編寫乙個功能與之相同的函式。函式原型 比較字串 int strcmp const char str1,const char str2 說明 str1 和 str2 分別為兩個字串的起始位址。按字典排序法,若 str1 串值...