在c語言中,能構獲取字串的函式至少有兩個:
1.scanf()
所在標頭檔案:stdio.h
接受字串時:scanf("%s",字元陣列名或指標);
2.gets()
所在標頭檔案:stdio.h
語法:gets(字元陣列名或指標);
兩者在接受字串時:
1.不同點:
scanf不能接受空格、製表符tab、回車等;
而gets能夠接受空格、製表符tab和回車等;
2.相同點:
字串接受結束後自動加'/0'。
例1:#include
main()
char ch1[10],ch2[10];
scanf("%s",ch1);
gets(ch2);
依次鍵入asd空格fg回車,asd空格fg回車,則ch1="asd/0",ch2="asd fg/0"。
例2:#include
main()
char ch1[10],ch2[10],c1,c2;
scanf("%s",ch1);
c1=getchar();
gets(ch2);
c2=getchar();
依次鍵入asdfg回車,asdfg回車,則ch1="asdfg/0",c1='/n',ch2="asdfg/0",c2需輸入。
gets和scanf輸入字串的比較
scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。gets可以接收空格 而scanf遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char string 15 gets string 遇到回車認為輸...
scanf和gets在字串中的區別
用scanf不是不顯示空格,而是用scanf接收字串的話,在串首遇到空格的話,跳過,繼續尋找下乙個非空格字元,在串中遇到空格時,結束字串的輸入。所以如果使用者輸入 abcd efg 的話,scanf取得的字串為 abcd 而gets取得字串時,是在遇到eof 串尾 時停止,所以不存在這個問題。inc...
獲取字串
package cn.itcast.day08.demo02 public int length 獲取字串當中含有的字元個數,拿到字串長度。public string concat string str 將當前字串和引數字串拼接成為返回值新的字串。public char charat int ind...