字元

字串

熟悉的陣列最對味

char s[101];

 

可以容納長度最多為100的字串

甚麼是字元?

int s[101];
for(int i=0;i<100;i++){
    scanf("%c",&s[i]);
}

甚麼是字串?

int s[101];
scanf("%s",&s);

為什麼要宣告長度+1的記憶體位子?

假如今天有個字串叫做Rice

記憶體是這樣用的...

 

s[0] = R

s[1] = i

s[2] = c

s[3] = e

s[4] = \0

舉一反三

  1. 多的空間是\0

  2. 遇到\0就是字串結束

  3. 字串就是字元陣列

求字串長度

char s[101];
int len = 0;
scanf("%s",&s);
for(int i=0;s[i]!='\0';i++,len++);
printf("%d\n",len);

字串比對

DAOJ 1003的END是輸入結束

 

char s[1003];

 

if(s[0]=='E'&&s[1]=='N'&&s[2]=='D'&&s[3]=='\0')

字串copy

char s[1001],copy[1001];
scanf("%s",&s);
for(int i=0;s[i]!='\0';i++){
    copy[i]=s[i];
}
printf("%s\n",copy);