验证两个整数数组在C编程中是否具有相同的长度?

时间:2016-07-18 10:05:00

标签: c arrays

这是我到目前为止无效的

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");

}

3 个答案:

答案 0 :(得分:1)

尝试使用字符串。

char password[4] = "abc";
char temp[4];

scanf("%s", temp);

现在,这将为您提供字符串长度:

size_t temp_len = strlen(temp);

答案 1 :(得分:1)

我相信,你要做的就是比较给定的数字是否存储在密码中。您不需要用于存储数字的数组。如果您的密码是字符串,则需要一个。

要检查两个数字ab是否具有相同的位数,只需将它们两个循环除以并检查它们是否在同一时刻达到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
}