English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

輸入10個以內的字串
當輸入到空字串時
停止輸入動作
程式會接著輸出剛剛輸入的字串

我想問
怎麼做才能遇到輸入空白的時候跳出
接著輸出字串

2006-12-14 20:35:24 · 3 個解答 · 發問者 yo 1 in 電腦與網際網路 程式設計

是空字串

抱歉沒打清楚

我試試

2006-12-15 05:38:21 · update #1

%3sn是啥??

2006-12-15 06:12:26 · update #2

3 個解答


#include

#include


int main()
{ int i, t;
char a[100][100];
for (t=0; ; t++)
{ gets(a[t]);
if (!a[t][0]) break;
}
for (i=0; i printf("%3s\n", a[i]);
system("PAUSE");
return 0;
}
小小範例,希望是您要的。
不過,題目是空字串時跳出,不是空白(鍵)時!
我寫的是空字串版

2006-12-15 14:00:46 補充:
如果 現在輸入的字串第一個字元是 0 (結束字元)(就是沒有輸入),
那就不用再輸入了。
if (!a[t][0])

if ( a[t][0] == '\0')
等效
因為 0 代表 false, a[t][0] 若為 0,和 false 同義。
所以,加了 !,就是 ! false => TRUE
希望您看懂。

2006-12-14 21:46:18 · answer #1 · answered by ? 7 · 0 0

請問if (!a[t][0]) break;
加 ! 的作用是...

2006-12-15 15:00:11 補充:
謝了

突然忘了
懂了

2006-12-15 07:24:15 · answer #2 · answered by yo 1 · 0 0

SORRY 沒有意見欄可以發表= =
我只是想說 我也想要這題答案..........

按空白鍵時 電腦不會認為你已經輸入完畢了
我是用scanf("%s",array)
EX 輸入 stockton is good player 包含三個空白鍵
可是我的array卻只會抓取stockton
其他都不管了 !!

感謝

2006-12-15 08:36:58 補充:
對了 你的問題
是空字串還是空字元

如果是空字元 可以用’\0’來判斷是否為此陣列的結束字元
用scanf 似乎也會把空白鍵當成結束字元哩 ...........

2006-12-15 03:31:28 · answer #3 · answered by Anonymous · 0 0

fedest.com, questions and answers