對,所以我通過做一個基於文本的小型RPG遊戲來學習語言的想法,從而與C搞砸了。我遵循了我在Java中如何做類似遊戲的步驟,但採用了一些不同的解決方法,直到我得到輸出讓第一個字符串被我輸入的第二個字符串部分覆蓋的問題。這裏是問題發生的位置(我認爲)。C字符串保持相互覆蓋
struct character{
char firstname[100];
char lastname[100];
};
int main(){
struct character charname;
char first=charname.firstname[100];
char last=charname.lastname[100];
printf("And what do they call you?(First name)\n");
scanf("%s", &first);
printf("Any other names?(Last name)\n");
scanf("%s", &last);
printf("So you are called ");
printf("%s ", &first);
printf("%s ", &last);
return 0;
}
我得到的輸出是:
什麼?他們叫你(的名字) 鮑勃
任何其他的名字(姓) 爾
?所以你叫BDole Dole
我不是BDole Dole,而是Bob Dole!
任何想法?
(剛剛意識到這裏的代碼輸入的事情是多麼可怕的)
'char first = charname.firstname [100]; char last = charname.lastname [100];'你已經出界了。 –