1.字串陣列+初始化
char s1="array"; //字元陣列
char s2[6]="array"; //陣列長度=字串長度+1,因為字串末尾會自動添『\0『
printf("%s,%c\n",s1,s2[2]);
2.字串指標+初始化
char *sp="pointer"; //字元指標
printf("%s,%c,%c\n",sp,*sp,*(sp+2));
3.陣列+scanf
char s1[6];
scanf("%s\n",s1);
printf("%s,%c\n",s1,s1[2]);
4.指標+scanf
#include
#include//該標頭檔案別忘加,否則使用malloc會報錯
int main()
5.指標+陣列+scanf
char str[60], *sp=str;//將陣列的首位址str賦給指標變數sp
scanf("%s\n",sp);
printf("%s,%c,%c\n",sp,*sp,*(sp+3));//pointer,p,n
printf("%s,%c,%c\n",str,str[0],str[3]);//pointer,p,n
6.注意:如下方法控制台執行會終止
char *sp;//sp未初始化指向不明
scanf("%s\n",sp);
printf("%s\n",sp);
7.用scanf和gets(字元陣列名或指標)進行輸入的區別:
char str1[60],str2[60];
gets(str1); //gets()函式將接收輸入的整個字串直到遇到換行為止
printf("%s\n",str1);
scanf("%s\n",str2);//scanf如果輸入了空格會認為字串結束,空格後的字元將作為下乙個輸入項處理
printf("%s\n",str2);
8.使用while(scanf("%d",&n)!=eof)實現多組測試資料輸入,而不在輸入完一組資料後退出控制台
char s1[60],s2[60];
int cnt; //用來測試scanf返回被輸入函式成功賦值的變數個數
while((cnt=scanf("%s%s",s1,s2))!=eof)
printf("%d",cnt);//當按下ctr+z後會執行該條輸出
字元 字串的輸入輸出
字元與字串的輸入輸出 如果要使用現成的字串函式和方法,就一定要加上對應的標頭檔案,如果在c 當中呢,就是 include 如果是在c當中呢,就是 include 4.1字元,字串的輸入輸出 char c 字元的輸入輸出 scanf c c printf c c 接收單個字元 字串的輸入輸出 char...
字元 字串的輸入 輸出
提前宣告 c字串為char或char 型別,include 而c 字串為string型別。include 定義c字串時,有如下問題 char str hello world 必須初始化 char str 3 想要不初始化,必須指定長度 char str 沒有分配記憶體,且無法用字串常量初始化,否則報...
字串輸入輸出函式
while gets name null 可檢查檔案是否結尾 while ch getchar eof gets 讀取換行符並將其丟棄,fgets 把換行符存字串裡,但每次顯示字串會顯示換行符 不足之處 fgets 是為檔案i o而設計得,在處理鍵盤輸入時就不如gets 那麼方便。它需要第二個引數來...