1. scanf
1.1 輸入字元
char ch;
scanf("%c",&ch);
注意字元前面的取位址符
1.2 輸入字串
char str[15];
scanf("%s",str);
char *pstr;
scanf("%s",pstr);(1)
scanf
在輸入字串時,不讀入空格和回車,在讀入空格或回車時,輸入結束
(2)輸入字串長度超過字元陣列元素個數不報錯,但執行時會提示
「run-time check failure #2 - stack around the variable 'str' was corrupted.」
(3)當為
str為陣列元素位址時,從此元素位址開始存放
(4)當輸入項為字元指標時,指標必須已指向確定的有足夠空間的連續儲存單元,不然會提示指標未初始化
2.getchar
輸入乙個字元
char ch;
ch = getchar();
3.gets
輸入乙個字串,包括空格,遇到回車結束輸入
char str[15];
gets(str);
4.cin
輸入數字:以空格或回車結束
輸入字元或字串:以空格、tab
、回車結束!
5.cin.get
cin.get(字元變數名
):用來接收字元
cin.get(字元陣列名,接受字元數目
),用來接收乙個字串,可以接受空格的
cin.get(無引數
):沒有引數主要是用於捨棄輸入流中的不需要的字元或者捨棄回車彌補
cin.get(
字元陣列名,接受字元數目
),的空格的不足
getline將丟棄換行符,而
get()
將換行符保留在輸入序列裡,但是字串中並沒有換行符。使用cin.get()
輸入多行資料時,中間可以使用
get()
消除換行符。
int main()
char str1[30], str2[30];
cin.get(str1, 30);
cin.get();
cin.get(str2, 30);
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
return 0;
6.cin.getline
cin.getline(字元陣列名,接受字元數目
):接受乙個字串
cin.getlne():其實可以有三個引數,最後乙個引數是字串的結束標誌,當最後的引數省略時,預設是
'\0'
char str[15];
int len = 5;
cin.getline(str,len,'*');
7.printf
printf("%s",位址值)
輸出時遇到第乙個'\0'
為止
8.puts
puts遇到第乙個
『\0』
結束,自動加入換行符
char str[15];
gets(str);
puts(str);
C C 字串輸入輸出
一 c語言 一 1 include 2void main 3 二 1 include 2void main 3 注 下面測試中 a 與 b 一樣 1 include 2void main 3 最後一位儲存的是 0 5 puts a 6char b 5 7 b 0 a 8 b 1 b 9 b 2 c ...
字元 字串的輸入輸出
字元與字串的輸入輸出 如果要使用現成的字串函式和方法,就一定要加上對應的標頭檔案,如果在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 沒有分配記憶體,且無法用字串常量初始化,否則報...