#include <stdlib.h>
void name();
char Name[20]={0};
int main()
{
int i=0;
char x;
name();
while(1)
{
printf("是否繼續輸入(y/n)? ");
scanf("%s", &x);
if(x=='y')
{
name();
}
else if(x=='n') break;
}
system("pause");
}
void name()
{
printf("輸入名字: ");
scanf("%s", &Name);
}
以上是我目前會寫的@@
我希望程式可以讓使用者輸入一些名字後,放到同一個陣列或字串裡
然後使用者按n不再輸入後,可以輸出:
第1個人的名子:XXX
第2個人的名子:WWW
第3個人的名子:YYY ...依此類推
希望有高手能教我~感恩!^^
回 耗呆小綿羊 請問這個程式要怎麼知道第一個人是誰、第二個人是誰、第三個人是誰? 如果我指定要讀取第3個輸入的名子,要怎麼讀取呢? 麻煩高手了~~~
回 Jacob Lee 請問有什麼簡單的方法?? 用二維也可以,方法不限,只要有我需要的效果就好了~ 感恩~^^
回 Wu 您的程式碼,輸出沒有顯示名字耶 只有顯示: 第一個人: 第二個人: ... 請問這是什麼原因呢??
回 Wu 我把Name[20]宣告成全域變數,就會顯示名字了~ 不過顯示的名字全都是最後一個輸入的名字=.=
回 東邪無弓 可以幫我解釋副程式裡do while每一行指令的意義/意思嗎? 那些我看不太懂XD 還有,為什麼是return --count; 而不是return count--; 麻煩幫我解釋了~感恩^^
請問 為什麼Jacob Lee說scanf("%s", &Name);是錯的! 如果我想用scanf讓使用者輸入名字到Name[3], 不能用scanf("%s", &Name[3]);嗎? 那正確的用法是什麼呢?
那我想讓使用者的輸入放到陣列的第3個 為什麼以下會錯?? 還是我的邏輯錯了?@@ #include #include int main() { char *name[100]; scanf("%s", &name[2]); printf("%s\n",name[2]); system("pause"); return 0; } 不好意思,學c沒多久,麻煩各位教我了~^^
那判斷他是不是英文怎麼寫? 寫成以下這樣會錯=.= for (i=0; i < 5; ++i) { name[i] = (char*) malloc(20); //20是輸入的字數上限19,可自行增減 scanf("%s", name[i]); } length = strlen(name[0]); for (i=0; i
for (i=0; i
for (i=0; i
它不給我顯示@@ 以下是圖片 http://img404.imageshack.us/img404/7258/38247254.jpg
好,我了解了! 感謝您的提醒^^