記錄一下C語言中字串的相關問題!
阿新 • • 發佈:2018-11-10
最近在努力提高自己程式設計水平,想著先把C語言溫習一下吧! 結果發現好久不程式設計,大一學的C語言全還給老師了!只能邊搜尋,邊寫了,記錄我的錯誤!都是老師講過的,當時太年輕沒實踐!!
所以學程式碼還得多寫啊!!
主要集中處理字串這一塊的內容!
問題1:讀取問題
char plaintext[K];
printf("Please input plaintext!\n");
gets(plaintext);
記得gets()
前邊加getchar()
不然會無法讀取。scanf()
,用%s
是無法讀取帶空格的字串的,需要用%[^\n]
的
問題2:區分以下幾個概念
char *p[K]; //char型指標陣列 char p; //字串 char s[]; //字串陣列 char *w = s; //字串陣列指標
反正我有印象老師講了好多次,反正當時太浪了沒聽,只能補習了!
1)
#include<stdio.h>
int main(int argc, char const *argv[])
{
char str[]="Wo shi la ji!";
char *p=str;
printf("%s\n", str);
printf("%s\n", p);
printf("%c%c%c\n", *p, *p+2, *(p+1));
return 0;
}
看輸出就知道
Wo shi la ji!
Wo shi la ji!
WXo
2)
#include<stdio.h> int main(int argc, char const *argv[]) { int i; char *p[5]={"abc","def","ghi","jkl","mno"}; for(i = 0;i < 5; i++) printf("%s\n", p[i]); printf("%s\n", *p); printf("%s %s %s %s\n", *p+1, *p+2, *p+3, *p+4); printf("%s %s %s\n", *(p+1), *(p+2), *(p+3)); return 0; }
輸出
abc
def
ghi
jkl
mno
abc
bc c def //c和def之間有倆空格
def ghi jkl
3)
字串傳參時候,不用取地址,
先就這些吧!