私のタイトルが言うように、私はCを学ぶ新しいプログラマーです。これは私の2日目のプログラミングであり、コードでこの問題を修正するための支援が必要です。私は狂ったlibを作成していますが、エラーは発生しませんが、最初のscanfは、他のすべてのscanfが使用する1行ではなく、2行かかります。
コードは次のとおりです。
#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とSublimeText2を組み合わせて作成されました。
私が言ったように、コンパイル時にエラーは発生せず、すべてが正常に行われているようです。問題は、ターミナルで実行すると、最初の回答を入力する必要があることです(「MadLibsへようこそ!回答はできます」 1語だけにしてください。動詞を入力してください。」)2回使用すると、両方が必要になります。
私が何を意味するのか混乱している場合は、自分で実行してみてください(OS XとLinuxの両方で.cファイルとして機能するはずです)。正直なところ、エラーをうまく説明する方法がわかりません。最初の答えを2回入力するようになり、最後のmadlibを表示するときに問題が発生します。