strcmpについて

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

int arr[][3] = {

  {1,1,1},
  {2,4,8},
  {3,6,9},
  {4,16,64},
  {5,25,125},
  {6,36,216},
  {7,49,343},
  {8,64,512},
  {9,81,729},
  {10,100,1000}

};

int num;
int i;

int main(void){
  
  printf("値をいれて");
  scanf("%d",&num);

  for(i=0;i<10;i++){
    if(!strcmp(arr[i][2],num)){
      printf("2乗値は%dです\n",arr[i][1]);
      printf("3乗値は%dです\n",arr[i][2]);
    }else{
      printf("3乗値なし");
    }
  }

  return 0;
}

↑だとうごかない。
どうやらstrcmpは文字列同士を比較する関数のようだ。
ただの比較用だと思ってたけどちがうみたい。
けっきょく↓になった。

#include<stdio.h>

int arr[][3] = {

  {1,1,1},
  {2,4,8},
  {3,6,9},
  {4,16,64},
  {5,25,125},
  {6,36,216},
  {7,49,343},
  {8,64,512},
  {9,81,729},
  {10,100,1000}

};

int num;
int i;

int main(void){
  
  printf("値をいれて");
  scanf("%d",&num);

  for(i=0;i<10;i++){
    if(arr[i][2] == num){
      printf("2乗値は%dです\n",arr[i][1]);
      printf("3乗値は%dです\n",arr[i][2]);
    }
  }
  return 0;
}