#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
int main() {
char userPassword[20];
printf("Type in your password: \n");
scanf("%c", &userPassword);
if (isalpha(userPassword) == 0) {
printf("Nice");
} else {
printf("Nope");
}
return 0;
}
パスワードに文字のみが含まれているかどうかを確認するコードを思いついています。なぜこのコードは "== 0"記号でしか動作しません。私の友人はこれと私のコードが動作するように私に言った。 "== 0"は何をしますか?`isalpha`の戻り値を確認する
、(!はisalpha(userPassword属性が))' –
あなただけ読んでいる場合は、 '試してみて、テスト1つの文字列ではありません。 – stark
'isalpha'は、テストが失敗すると '0'(偽)を返し、そうでなければ、テストに合格するとゼロ以外(真)を返します。だから、 '!'上記のように。 – Serge