我正在爲我自己的個人休閒和學習項目工作。部分原因是這樣的:獲取(string#)函數跳過第一個獲取請求
#include<stdio.h>
#include<string.h>
wgame()
{
char string3[12], string2[12], string1[12], string4[12], string5[12];
memset (string1, 0, 11);
memset (string2, 0, 11);
memset (string3, 0, 11);
memset (string4, 0, 11);
memset (string5, 0, 11);
printf("reference C correct\n");
printf("Okay, so you want a game. Here's one for you\n\n\n");
printf("This is a word game.\n\n A noun is a person place or thing.\n A verb is
something that you can get up and do.\n A subject is what the conversation is about.\n");
printf("Go ahead, type a subject:\n");
gets(string3);
printf("That's a good one. Now, type a verb:\n");
gets(string2);
printf("How about another:\n");
gets(string4);
printf("Really? Okay. Now, type in a noun:\n");
gets(string1);
printf("Cool. How about typing another noun:\n");
gets(string5);
printf("Allright, here's how your words fit into this game:\n\n\n\n\n");
printf("When the %s was %s the %s %s all the other %s", string1,
string2, string3, string4, string5);
return 4;
}
我的問題是輸出跳過第一個「獲取(串#)」,並繼續到下一個 的「printf()」。有人能告訴我爲什麼這是嗎?
'wgame()'應該是'int wgame(void)'。 *永遠不要使用'gets()';它不能安全使用,並且正在從語言中刪除。使用有意義的變量名。避免使用「幻數」('11','12')。縮進你的代碼。 –