中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言scanf和gets有什么不同

發布時間:2021-01-30 16:07:34 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

這篇文章給大家介紹c語言scanf和gets有什么不同,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

解釋

gets(s)函數與 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函數輸入字符串時存在一個問題,就是如果輸入了空格會認為字符串結束,空格后的字符將作為下一個輸入項處理,但gets()函數將接收輸入的整個字符串直到遇到換行為止。

1.scanf()

所在頭文件:stdio.h

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

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

2.gets()

所在頭文件:stdio.h

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

兩者在接受字符串時:

1.不同點:

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

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

2.相同點:

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

例1:

#include <stdio.h>
int main()
{
  char ch2[10],ch3[10];

  scanf("%s",ch2);
  gets(ch3);

return 0;
}

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

程序2:

#include <stdio.h>
int main()
{
char str1[20], str2[20];
scanf("%s",str1);
printf("%s\n",str1); 
scanf("%s",str2);
printf("%s\n",str2);
return 0;
}

程序的功能是讀入一個字符串輸出,再讀入一個字符串輸出。可我們會發現輸入的字符串中不能出現空格,例如:

測試一輸入:

Hello word(enter)

輸出:

Hello
world!

程序3:

#include <stdio.h>
int main()
{
char str1[20], str2[20];
gets(str1);
printf("%s\n",str1); 
gets(str2);
printf("%s\n",str2);
return 0;
}

測試:

Helloworld! [輸入]
Helloworld! [輸出]
12345 [輸入]
12345 [輸出]

關于c語言scanf和gets有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麦盖提县| 林甸县| 富蕴县| 黄龙县| 古交市| 茌平县| 石棉县| 太白县| 九寨沟县| 台北县| 景洪市| 六枝特区| 宁河县| 原平市| 河间市| 阳高县| 盈江县| 阳曲县| 广水市| 正镶白旗| 黑水县| 婺源县| 永昌县| 凤庆县| 普陀区| 清镇市| 若尔盖县| 连云港市| 平江县| 班戈县| 安化县| 三门峡市| 吴桥县| 广河县| 祁连县| 泸水县| 越西县| 沅江市| 黑龙江省| 高淳县| 乌兰浩特市|