基本的に私は実際のプログラムを入力するためにユーザ名とパスワードを尋ねるプログラムを作りたいと思っています。私はそのようなことをやろうとしましたが、最初のユーザー名とパスワードを入力すると、私はそれを通過させません。一方、私は2番目のユーザー名とパスワードを入力すると動作します。誰かがなぜ私を説明することはできますか?警告とCのユーザ名とパスワード
#include<stdio.h>
#include<string.h>
#define MAX 100
#define LEN 40
int names(char listName[][LEN]);
void pass(char listPass[][LEN]);
int main()
{
char name[LEN];
char password[LEN];
char listName[MAX][LEN];
char listPass[MAX][LEN];
int i;
names(listName);
pass(listPass);
printf("Enter username: ");
scanf("%s", name);
printf("Enter password: ");
scanf("%s", password);
for(i = 0; i< 2; i++)
{
if (strcmp(listName[i], name) == 0 && strcmp(listPass[i], password) == 0)
{
printf("Access granted\n");
break;
}
else
{
printf("Access denied\n");
break;
}
}
getch();
}
int names(char listName[][LEN])
{
int i;
strcpy(listName[i], "Vince");
strcpy(listName[i], "Jeremy");
}
void pass(char listPass[][LEN])
{
int i;
strcpy(listPass[i], "aBc2xyz8");
strcpy(listPass[i], "fa7saC12");
}
あなたは常にすべての変数の値を知っている必要があります。関数 'names()'と 'pass()'を入力すると、どのような価値がありますか? – pmg