Language: C

#include <stdio.h>

struct DICE {
int mark1,mark2,mark3,mark4,mark5,mark6;





};

void MoveDice(struct DICE *p,char c);

int main(){

struct DICE p;char compass;
scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
scanf("%c", &compass);
while(compass!='\n'){
MoveDice(&p,compass);
scanf("%c", &compass);
}

return 0;
}

void MoveDice(struct DICE *p,char c){
int tmp;
tmp=*p->mark1;
switch(c){
case 'W':
*p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
break;
case 'E':
*p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
break;
case 'N':
*p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
break;
case 'S':
*p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
break;
}
}

Compiler output:
main.c: In function 'main':
main.c:17:31: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                               ^~
main.c:17:41: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                                         ^~
main.c:17:51: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                                                   ^~
main.c:17:61: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                                                             ^~
main.c:17:71: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                                                                       ^~
main.c:17:81: error: invalid type argument of '->' (have 'struct DICE')
   17 | scanf("%d %d %d %d %d %d\n",&p->mark1,&p->mark2,&p->mark3,&p->mark4,&p->mark5,&p->mark6);
      |                                                                                 ^~
main.c: In function 'MoveDice':
main.c:29:5: error: invalid type argument of unary '*' (have 'int')
   29 | tmp=*p->mark1;
      |     ^~~~~~~~~
main.c:32:1: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      | ^~~~~~~~~
main.c:32:11: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |           ^~~~~~~~~
main.c:32:21: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |                     ^~~~~~~~~
main.c:32:31: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |                               ^~~~~~~~~
main.c:32:41: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |                                         ^~~~~~~~~
main.c:32:51: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |                                                   ^~~~~~~~~
main.c:32:61: error: invalid type argument of unary '*' (have 'int')
   32 | *p->mark1=*p->mark3;*p->mark3=*p->mark6;*p->mark6=*p->mark4;*p->mark4=tmp;
      |                                                             ^~~~~~~~~
main.c:35:1: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      | ^~~~~~~~~
main.c:35:11: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |           ^~~~~~~~~
main.c:35:21: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |                     ^~~~~~~~~
main.c:35:31: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |                               ^~~~~~~~~
main.c:35:41: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |                                         ^~~~~~~~~
main.c:35:51: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |                                                   ^~~~~~~~~
main.c:35:61: error: invalid type argument of unary '*' (have 'int')
   35 | *p->mark1=*p->mark4;*p->mark4=*p->mark6;*p->mark6=*p->mark3;*p->mark3=tmp;
      |                                                             ^~~~~~~~~
main.c:38:1: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      | ^~~~~~~~~
main.c:38:11: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |           ^~~~~~~~~
main.c:38:21: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |                     ^~~~~~~~~
main.c:38:31: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |                               ^~~~~~~~~
main.c:38:41: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |                                         ^~~~~~~~~
main.c:38:51: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |                                                   ^~~~~~~~~
main.c:38:61: error: invalid type argument of unary '*' (have 'int')
   38 | *p->mark1=*p->mark2;*p->mark2=*p->mark6;*p->mark6=*p->mark5;*p->mark5=tmp;
      |                                                             ^~~~~~~~~
main.c:41:1: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      | ^~~~~~~~~
main.c:41:11: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |           ^~~~~~~~~
main.c:41:21: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |                     ^~~~~~~~~
main.c:41:31: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |                               ^~~~~~~~~
main.c:41:41: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |                                         ^~~~~~~~~
main.c:41:51: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |                                                   ^~~~~~~~~
main.c:41:61: error: invalid type argument of unary '*' (have 'int')
   41 | *p->mark1=*p->mark5;*p->mark5=*p->mark6;*p->mark6=*p->mark2;*p->mark2=tmp;
      |                                                             ^~~~~~~~~