このコードがクラッシュする理由を誰か教えてもらえますか? 文字列の長さが 16 を超える場合は、文字列を再度要求します。if 文の中に control = 1 と書けば動きますが、それがなくても同じように動くはずです。その時点での control の値は 1 だからです。ありがとうございます(勉強中です)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main(void)
{
int control = 1;
char word[16] ;
printf("Enter a word: ");
while(control == 1)
{
scanf("%s", word);
int len = strlen(word);
printf("Lenght is: %d\n", len);
if (len >= 16)
{
printf("Word lenght to long, enter a new one: ");
}
else
{
control = 0;
}
}
printf("This is the word: %s\n", word );
}