程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> scanf和gets獲取字符串時的區別

scanf和gets獲取字符串時的區別

編輯:關於C語言

在C語言中,能構獲取字符串的函數至少有兩個:

1.scanf()

所在頭文件:stdio.h

語法:scanf("格式控制字符串",變量地址列表);

接受字符串時:scanf("%s",字符數組名或指針);

2.gets()

所在頭文件:stdio.h

語法:gets(字符數組名或指針);

兩者在接受字符串時:

1.不同點:

scanf不能接受空格、制表符Tab、回車等;

而gets能夠接受空格、制表符Tab和回車等;

2.相同點:

字符串接受結束後自動加'\0'。

例1:

#include <stdio.h>

main()

{

  char ch1[10],ch2[10];

  scanf("%s",ch1);

  gets(ch2);

}

依次鍵入asd空格fg回車,asd空格fg回車,則ch1="asd\0",ch2="asd fg\0"。

例2:

#include <stdio.h>

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需輸入。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved