无法将数组值与整数进行比较

Cant compare array value with an integer

我在将数组值与 integer.But 进行比较时出错,谁能告诉我如何将数组的值存储在单独的变量中。 让我们假设 array[0]123array[1]jn12jn3jk2=我想在变量 keysum 中存储 123,在变量 hash 中存储 jn12jn3jk2=

  1 #include<stdio.h>
  2 #include<string.h>
  3 #include<ctype.h>
  4
  5
  6 int main(){
  7     int i=0,number=0,digit;
  8     char crypt[10000],c;
  9     char *array[2];
 10     printf("Enter Crypted Text> ");
 11     fgets(crypt,10000,stdin);
 12     char * token = strtok(crypt, "'");
 13     while( token != NULL ) {
 14         array[i++]=token;
 15         token = strtok(NULL, "'");
 16     }
 17     int keysum = array[0];
 18     int k=0;
 19     printf("Enter Key> ");
 20     scanf("%d",&k);
 21     printf("KEY= %d\n",k);
 22
 23
 24 //extracting key digits
 25     int kerray[6];
 26     int key=5;
 27     int digit1=0;
 28     int digit2=0;
 29     int digitin=0;
 30     int digitout=0;
 31     for (i = 3; i >= 0; i--)
 32     {
 33     kerray[i] = k % 10;
 34     k /= 10;
 35     }
 36     digit1=kerray[0];
 37     digit2=kerray[1];
 38     digitin=kerray[2];
 39     digitout=kerray[3];
 40
 41 //4key ofc
 42     int ofc=0;
 43     ofc=(digit1+digitout)*(digit2+digitin);
 44
 45
 46 //key check
 47     if( ofc == array[0])
 48     {
 49         printf("keymatch");
 50     }
 51     else
 52     {
 53         printf("no match");
 54     }
 55
 56     return 0;
 57 }

错误:

decode.c: In function 'main':
decode.c:17:18: warning: initialization of 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion]
   17 |     int keysum = array[0];
      |                  ^~~~~
decode.c:47:13: warning: comparison between pointer and integer
   47 |     if( ofc == array[0])

测试以下代码:

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{
    int i = 0, number = 0, digit;
    char crypt[10000], c;
    char *array[2];
    printf("Enter Crypted Text> ");
    fgets(crypt, 10000, stdin);
    char *token = strtok(crypt, "'");
    while (token != NULL)
    {
        array[i++] = token;
        token = strtok(NULL, "'");
    }
    int keysum = (int) array[0];
    int k = 0;
    printf("Enter Key> ");
    scanf("%d", &k);
    printf("KEY= %d\n", k);
    //extracting key digits
    int kerray[6];
    int key = 5;
    int digit1 = 0;
    int digit2 = 0;
    int digitin = 0;
    int digitout = 0;
    for (i = 3; i >= 0; i--)
    {
        kerray[i] = k % 10;
        k /= 10;
    }
    digit1 = kerray[0];
    digit2 = kerray[1];
    digitin = kerray[2];
    digitout = kerray[3];
    //4key ofc
    int ofc = 0;
    ofc = (digit1 + digitout) * (digit2 + digitin);
    //key check
    if ((char *) ofc == array[0]) {
        printf("keymatch");
    } else {
        printf("no match");
    }
    return 0;
}