入力の最初や途中に空白文字があったらもう一度入力させるプログラムを作りたいのですが、文字が入っていても繰り返されてしまいます。なぜでしょうか?
C
1#include <stdio.h> 2 3int main() { 4 char name[10]; 5 char Name_Len; 6 char flag = 0; 7 char cnt = 0; 8 char *check; 9 10 while (flag == cnt) { 11 printf("名前入力して>>"); 12 fgets(name, 10, stdin); 13 14 // 配列の最後を\0にする処理 15 Name_Len = strlen(name) - 1; 16 name[Name_Len] = '\0'; 17 18 check = strchr(name, ' '); 19 20 if ((strlen(name) <= 10) && !check) { 21 printf("%s:ok\n", name); 22 cnt++; 23 } else { 24 printf("%s:no\n", name); 25 } 26 } 27 28 return 0; 29}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/22 14:38