割り当ての説明の一部を以下に示します。ユーザーが done という単語を入力すると、プログラムは入力の受け入れを停止する必要があります。20 文字を超える単語はないと仮定します。
単語が 20 文字を超えるとエラー メッセージが表示され、再度入力する必要があることを確認する必要があります。また、完了と入力すると、プログラムが終了するはずです。これらのステートメントを正しく書く方法がわかりません。実行して20文字以上入力すると、エラーが発生します-Expression: L("Buffer is too small" &&0)
これまでの私のコードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXCHAR 20
int charcount(char []);
int main()
{
char message[MAXCHAR];
int numofchar;
printf("Enter any word to display how many characters that word has.\nA word CANNOT be more than 20 charatcers long.\n");
printf("When you are finished type the word done.\n");
do
{
printf("\nEnter a word: " );
gets_s(message, MAXCHAR);
numofchar = charcount(message);
while ( numofchar > MAXCHAR)
{
printf("The word enterd is more then 20 characters. Try again.\n");
printf("Enter a word: " );
gets_s(message, MAXCHAR);
}
printf("The word %s has %d characters.\n", (message),numofchar);
} while ( (message,MAXCHAR) != 'done');
printf("\nEnd of program.\n");
system ("PAUSE");
return 0;
}
int charcount (char list[])
{
int i, count = 0;
for(i = 0; list[i] != '\0'; i++)
count++;
return(count);
}