基本介紹
- 中文名:字元串賦值
- 外文名:String assignment
- 性質:字元串的賦值方式
- 表現形式:數組或指針
- 套用學科:C語言、C++等程式語言
- 領域:計算機、電信等領域
字元串簡介
定義
表示方式
常用函式
函式 | 格式 | 功能 |
gets() | gets(字元數組) | 從鍵盤輸入一以回車結束的字元串放入字元數組中, 並自動加'\0' |
scanf() | scanf("%s", 字元數組) | 從鍵盤輸入一以空格或回車結束的字元串放入字元數 組中,並自動加'\0' |
函式 | 格式 | 功能 |
puts() | puts(字元串地址) | 向顯示器輸出字元串(輸出完,換行) |
printf() | printf("%s", 字元串地址) | 依次輸出字元串中的每個字元直到遇到字元'\0'('\0'不會被輸出) |
函式 | 格式 | 功能 |
strlen() | strlen(字元串地址) | 計算字元串長度,返回字元串實際長度,不包括'\0'在內 |
函式 | 格式 | 功能 |
strcpy () | strcpy (字元數組1,字元串2) | 將字元串2拷貝到字元數組1中去,返回字元數組1的首地址 |
strncpy () | strncpy (字元數組1, 字元串2, 長度n) | 將字元串1前n個字元的子串與字元串2前n個字元的子串進行比較 |
函式 | 格式 | 功能 |
strcmp () | strcmp (字元串1, 字元串2) | 比較兩個字元串,對兩串從左向右逐個字元比較(ASCII碼),直到遇到不同字元或'\0'為止 |
stricmp() | stricmp(字元串1, 字元串2) | 同strcmp,stricmp在比較兩個字元串時不區分大小寫,而strcmp則區分大小寫 |
strncmp () | strncmp (字元串1, 字元串2, 長度n) | 將字元串1前n個字元的子串與字元串2前n個字元的子串進行比較 |
字元串賦值方式
char *p,a='5';
p=&a; //顯然是正確的,
p="abcd"; //但為什麼也可以這樣賦值??
#include <stdio.h> int main(){ char *p = "hello"; printf("%s",p);
char a[10]; a = "hello";
return 0;}error C2440: '=' : cannot convert from 'char [6]' to 'char [10]' There is no context in which this conversion is possible
error C2106: ‘=’ : left operand must be l-value
