这是我到目前为止无效的
int password [4] ;
int temp [4] ;
printf("Enter password : ") ;
Scanf ("%d" , &temp) ;
if (password.lenght == temp.lenght ) {
printf("The password is correct") ;
}
else {
printf ("Try Again");
}
答案 0 :(得分:1)
尝试使用字符串。
char password[4] = "abc";
char temp[4];
scanf("%s", temp);
现在,这将为您提供字符串长度:
size_t temp_len = strlen(temp);
答案 1 :(得分:1)
我相信,你要做的就是比较给定的数字是否存储在密码中。您不需要用于存储数字的数组。如果您的密码是字符串,则需要一个。
要检查两个数字a
,b
是否具有相同的位数,只需将它们两个循环除以并检查它们是否在同一时刻达到0。
答案 2 :(得分:1)
根据对其他答案的评论,您要检查是否有人输入了四位数的字符串。执行此操作的简单方法是使用char
数组来存储输入,并使用strlen
来获取输入字符串的长度:
#include <stdio.h>
#include <string.h>
...
char input[5]; // extra space for string terminator
printf( "Enter password: " );
if ( scanf( "%4s", input ) != 1 ) // read no more than four characters
{
// error on input
}
else if ( strlen( input ) < 4 )
{
// password too short
}
else
{
// check password value
}