正如我的标题所说,我是一名学习 C 的新程序员。这是我的第二天编程,我需要帮助在我的代码中解决这个问题。我正在制作一个疯狂的库,虽然没有出现错误,但第一个 scanf 需要 2 行,而不是其他所有 scanf 使用的 1 行。
这是代码:
#include <stdio.h>
int main()
{
char verb[20];
char loc[20];
char noun1[20];
char noun2[20];
char adj[20];
/* The following is the part where you input words. It sets them as strings (named word1-5, as stated above)*/
printf("Welcome to Mad Libs! \nAnswers can only be one word long. \nPlease enter a verb.\n");
scanf("%s\n",verb);
printf("Now enter a location!\n");
scanf("%s\n",loc);
printf("Now enter a noun!\n");
scanf("%s\n",noun1);
printf("Now enter another noun!\n");
scanf("%s\n",noun2);
printf("Now please enter an adjective!\n");
scanf("%s\n",adj);
/* It all comes together here. The code is supposed to take the strings set previously and put them into this story. */
/* The dashes and various /n's are there to make the final Mad Lib easier to read */
printf("\n\nHere is your Mad Lib:\n------------------------------ \nHolly %s down to the %s.\nOnce she got there she bought some %s and ate it!\nAfterwards, Holly brought it home and let her %s eat it.\nHolly is a %s girl!\n------------------------------ \n",verb,loc,noun1,noun2,adj);
return 0;
}
它是在 Ubuntu 上使用 Vi 和 Sublime Text 2 的组合制作的。
就像我说的,编译时我没有收到任何错误,而且一切似乎都井井有条,问题是一旦我在终端中运行它,我必须输入第一个答案(回答“欢迎来到 Mad Libs!答案可以只有一个词长。请输入一个动词。”)两次,都需要。
如果您对我的意思感到困惑,请尝试自己运行它(它应该在 OS X 和 Linux 中作为 .c 文件运行),老实说,我不知道如何很好地描述该错误。它让我输入第一个答案两次,并在显示最终的疯狂库时引起问题。