-1

我必须检查一个字符(字符串)是否包含一个扫描的字母。

char password[15]="STACKOVERFLOW";
char check;
printf("Type in a letter to check if it is in the password/n");
scanf("%c", check);

现在我想检查检查是否在密码中并打印真假。

4

1 回答 1

1

对于初学者使用

scanf(" %c", check);
       ^^^^

代替

scanf("%c", check);

从输入流中跳过空白字符。

要检查字符串中是否存在字符,请使用标strchr头中声明的标准函数<string.h>。例如

#include <string.h>

//...


if ( strchr( password, check ) == NULL ) // if ( !strchr( password, check ) )
{
    puts( "The character is absent" );
}

或者

if ( strchr( password, check ) ) 
{
    puts( "Bingo! The character is present" );
}
于 2020-12-14T19:47:58.377 回答