欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c語言如何輸入數(shù)組?

錢淋西2年前316瀏覽0評論

在C語言中,有兩個函數(shù)可以讓用戶從鍵盤上輸入數(shù)組數(shù)據(jù),它們分別是gets()和scanf()。scanf()是通過格式控制符%s輸入數(shù)組字符串,除了字符串,還能輸入其他類型的數(shù)據(jù);gets()是直接輸入數(shù)組字符串,并且只能輸入字符串。

但是,scanf()和gets()是有區(qū)別的。

scanf()讀取字符串時以空格為分隔,遇到空格就認為當前字符串結束了,所以無法讀取含有空格的字符串。

gets()認為空格也是字符串的一部分,只有遇到回車鍵時才認為字符串輸入結束,所以,不管輸入了多少個空格,只要不按下回車鍵,對gets()來說就是一個完整的字符串。換句話說,gets()用來讀取一整行字符串。

舉個例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#include<stdio.h>

intmain(){

charstr1[30]={0};

charstr2[30]={0};

charstr3[30]={0};

//gets()用法

printf("Inputastring:");

gets(str1);

//scanf()用法

printf("Inputastring:");

scanf("%s",str2);

scanf("%s",str3);

//分別輸出

printf("\nstr1:%s\n",str1);

printf("str2:%s\n",str2);

printf("str3:%s\n",str3);

return0;

}

運行結果:

1

2

3

4

5

Inputastring:CC++JavaPython

Inputastring:PHPJavaScript

str1:CC++JavaPython

str2:PHP

str3:JavaScript

第一次輸入的字符串被gets()全部讀取,并存入str1中。第二次輸入的字符串,前半部分被第一個scanf()讀取并存入str2中,后半部分被第二個scanf()讀取并存入str3中。

注意,scanf()在讀取數(shù)據(jù)時需要的是數(shù)據(jù)的地址,這一點是恒定不變的,所以對于int、char、float等類型的變量都要在前邊添加&以獲取它們的地址。但是在本段代碼中,我們只給出了字符串的名字,卻沒有在前邊添加&,這是為什么呢?因為字符串名字或者數(shù)組名字在使用的過程中一般都會轉換為地址,所以再添加&就是多此一舉,甚至會導致錯誤了。

就目前學到的知識而言,int、char、float等類型的變量用于scanf()時都要在前面添加&,而數(shù)組或者字符串用于scanf()時不用添加&,它們本身就會轉換為地址。讀者一定要謹記這一點。

至于數(shù)組名字(字符串名字)和地址的轉換細節(jié),以及數(shù)組名字什么時候會轉換為地址。

以上就是c語言數(shù)組怎么輸入?的詳細