我想將數據存儲在2d字符串中。傳統的方法是:如何在一次拍攝中輸入2d字符串的所有元素?
char arr[20][20];
int i;
int size;
scanf("%d",&size);
for(i=0;i<size;i++)
scanf("%s", arr[i]);
這樣我會輸入:
Hey
I
Am
New
Here
我想有輸入爲:嘿,我是新來的 和數組應具有:a[20][20]={"Hey","I","am","new","here"}
我想將數據存儲在2d字符串中。傳統的方法是:如何在一次拍攝中輸入2d字符串的所有元素?
char arr[20][20];
int i;
int size;
scanf("%d",&size);
for(i=0;i<size;i++)
scanf("%s", arr[i]);
這樣我會輸入:
Hey
I
Am
New
Here
我想有輸入爲:嘿,我是新來的 和數組應具有:a[20][20]={"Hey","I","am","new","here"}
它亙古不變的問題,希望scanf()
是否使用「\ n」(鍵盤按鍵輸入)或空格輸入,將工作的定義相同way.The標準是任何空白可以分離鮑
也就是說,如果你把輸入原樣
Hey
I
Am
New
Here
或AS-
Hey I am new here
它總是將它們存儲爲{ 「嘿」,「我」,「上午」,「新」,「這裏」}
實現此目的最優雅的方式是,
strtok()
這樣一來,你有很多優點,如
size
一個單獨的用戶輸入。您只能繼續對整個輸入進行標記,直到數組元素在那裏。strlen()
,也許)
非常感謝。有效。 奇怪的是,雖然scanf也工作過,也許因爲它不讀取空間,所以它將下一個字存儲在下面的索引中。是嗎? –