char s[20] 與 char *s[20]的區別
/* char s[20]表示在棧上分配了20個字符空間,該空間的首址爲s
char *s[20]表示一個指針數組,該數組有20個成員.每一個成員都是一個指針 */
*p++ 與 (*p)++的區別
/* *p++表示 取*p的值後p的地址加1
(*p)++表示取*p的值後*p指向的值加1
*/
gets(str[i]);
clrscr(); 功 能: 清除文本模式窗口清屏的意思
puts(a); 功 能: 送一字符串到流中 用 法: int puts(char *string);
int main(int argc, char *argv[])
strcpy函數 strcat函數 strcmp函數 strlen()函數
strcpy函數用於實現兩個字符串的拷貝。一般形式是: strcpy(字符中1,字符串2)
其中,字符串1必須是字符串變量,而不能是字符串常量。strcpy函數把字符串2的內容完全複製到字符串1中,而不管字符串1中原先存放的是什麼。複製後,字符串2保持不變。
例: 注意,由於字符串是數組類型,所以兩個字符串複製不通過賦值運算進行。
t=s; /*錯誤的字符串複製*/
strcpy(t,s); /*正確的字符串複製*/
char s[30];
strcpy(s, "Good News!"); /*給數組賦字符串*/
在C語言中 strchr 和 strstr函數都被包含在<string.h>頭文件中,也就是要調用它們時要在程序前面包含<string.h>頭文件,也就是寫這個語句:#include<string.h>
strchr函數原型:char * strchr(char * str, int ch); 功能就是找出在字符串str中第一次出項字符ch的位置,找到就返回該字符位置的指針(也就是返回該字符在字符串中的地址的位置),找不到就返回空指針(就是 null)。
strstr 函數原型: char * strstr(char * str1,char * str2);功能就是找出在字符串str1中第一次出項字符串str2的位置(也就是說字符串sr1中要包含有字符串str2),找到就返回該字符串位置的指針(也就是返回字符串str2在字符串str1中的地址的位置),找不到就返回空指針(就是 null)。
它們一個是求一個字符在字符串中得位置,另一個是求一個字符串在另一個字符串中的位置。
strchr(s,'V');
字符數組與sting的區別:字符數組最後一個要存'\0'
我們定義字符數組時,通常採用第一種形式,即不顯式指定字符串的長度,而由編譯器自行確定字符數組的長度。
char s1[] = "example";
字符數組也可以在定義時初始化:
char str[16] = {'T', 'h', 'i', 's', ' ', 'i', 's', ' ', ' a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
05 |
char string[20]; char str[3][20]; int i; |
08 |
if ( strcmp (str[0],str[1])>0) |
09 |
strcpy (string,str[0]); |
11 |
strcpy (string,str[1]); |
12 |
if ( strcmp (str[2],string)>0) |
13 |
strcpy (string,str[2]); |
14 |
printf ( "\nThe
largest string is %s\n" ,string); |
05 |
char *s1= "Hello,
Programmers!" ; |
06 |
char *s2= "Hello,
programmers!" ; |
11 |
printf ( "s1
and s2 are identical" ); |
13 |
printf ( "s1
less than s2" ); |
15 |
printf ( "s1
greater than s2" ); |