Q:

User-input values in first column with squares displayed in second column for multi-dimensional arrays

A small help is needed regarding multi-dimensional arrays in C language. I am trying to compute square of each value, entered by user. However, I want both the value and results displayed as output.
I am looking for something like in this format for only specific rows and cols:
Value Squared

5     25
4     16
12    144
20    400
1000  1000000

So far I have come up with the following code, but it yields the error - "invalid operands to binary (have 'int' and 'int*'):
    #include <stdio.h>
    #define ROWS 5  //number of defined rows
    #define COLS 2  //number of defined columns

    int main(void)
    {
       int square[ROWS][COLS];
       int row, col, temp;
       printf("VALUE       SQUARED\n");
       for(row=0; row<ROWS; row++) 
       {
       //one row at a time
           printf("Enter value for square[%d]: ", row);
           scanf("%d", &square[row][1]);     //only first column with user-input
           temp = square[row]*square[row];   //compute square of each value
           printf("%5d %15d\n", square[row][temp]);
       }
      //printing values of an array
      for(row=0; row<ROWS; row++)
          for(col=0; col<COLS; col++)
            printf("\t%d", square[row][col]);
      printf("\n");

      return 0;
   }

A:

Actually, "invalid operands to binary (have 'int' and 'int*')" caused by expression square[row]*square[row] where square[row] using only one index, so type of int* is trying to be squared. The second index required to have type int.
But ...
Why do you use temp as index?
Instead of
temp = square[row]*square[row];
printf("%5d %15d\n", square[row][temp]);

should be 
square[row][0] = square[row][1]*square[row][1];
printf("%5d %15d\n", square[row][1], square[row][0]);

And pay attention, that in my example square[row][0] is uses (with [0]), but actually I suppose that you intended to use square[row][0] for VALUE and square[row][1] for SQUARED, but you forgot about the fact that in C indexing starts from 0. So to have last part of your code working properly change "input part" and bring the output of the header to the table in place immediately before the "output part"
#include <stdio.h>
#define ROWS 5  //number of defined rows
#define COLS 2  //number of defined columns

int main(void)
{
   int square[ROWS][COLS];
   int row, col, temp;

   // "input part"
   for(row=0; row<ROWS; row++) 
   {
       // TODO: type this again after reading my aswer above
   }
   // "output part"
   printf("VALUE       SQUARED\n");
   for(row=0; row<ROWS; row++)
   {
      for(col=0; col<COLS; col++)
        printf("%10d", square[row][col]);
      printf("\n");
   }

   return 0;
}

