Language: C

#include <stdio.h>
#include <string.h>
&#160;
typedef struct IntList {
&#160;&#160;&#160;&#160;struct IntList *next;
&#160;&#160;&#160;&#160;int v;
} IntList;
&#160;
IntList sorted[1000000];
&#160;
void InitList(int n);
IntList* MergeSort(int f, int l);
IntList* Merge(IntList* a, IntList* b);
&#160;
void InitList(int n)
{
&#160;&#160;&#160;&#160;int i;
&#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
&#160;&#160;&#160;&#160;}
}
&#160;
IntList* MergeSort(int f, int l)
{
&#160;&#160;&#160;&#160;int m = f + l >> 1;
&#160;
&#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
&#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));
}
&#160;
IntList* Merge(IntList* a, IntList* b)
{
&#160;&#160;&#160;&#160;IntList head;
&#160;&#160;&#160;&#160;IntList *x = &head;
&#160;
&#160;&#160;&#160;&#160;while (a != NULL){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (b != NULL && a->v > b->v){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = x->next = b;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b = b->next;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x = x->next = a;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;a = a->next;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
&#160;&#160;&#160;&#160;}
	x->next = b;

&#160;&#160;&#160;&#160;return (head.next);
}
&#160;
int main(void)
{
&#160;&#160;&#160;&#160;int n, i;
&#160;&#160;&#160;&#160;IntList *head;
&#160;
&#160;&#160;&#160;&#160;scanf("%d", &n);
&#160;&#160;&#160;&#160;InitList(n);
&#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scanf("%d", &sorted[i].v);
&#160;&#160;&#160;&#160;}
&#160;
&#160;&#160;&#160;&#160;// [)
&#160;&#160;&#160;&#160;for (head = MergeSort(0, n); head != NULL; head = head->next){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;printf("%d%c", head->v, head->next ? ' ' : '\n');
	}
	return (0);
}

Compiler output:
main.c:3:1: error: expected identifier or '(' before '&' token
    3 | &#160;
      | ^
main.c:3:2: error: stray '#' in program
    3 | &#160;
      |  ^
main.c:5:1: error: expected specifier-qualifier-list before '&' token
    5 | &#160;&#160;&#160;&#160;struct IntList *next;
      | ^
main.c:5:2: error: stray '#' in program
    5 | &#160;&#160;&#160;&#160;struct IntList *next;
      |  ^
main.c:5:8: error: stray '#' in program
    5 | &#160;&#160;&#160;&#160;struct IntList *next;
      |        ^
main.c:5:14: error: stray '#' in program
    5 | &#160;&#160;&#160;&#160;struct IntList *next;
      |              ^
main.c:5:20: error: stray '#' in program
    5 | &#160;&#160;&#160;&#160;struct IntList *next;
      |                    ^
main.c:6:2: error: stray '#' in program
    6 | &#160;&#160;&#160;&#160;int v;
      |  ^
main.c:6:8: error: stray '#' in program
    6 | &#160;&#160;&#160;&#160;int v;
      |        ^
main.c:6:14: error: stray '#' in program
    6 | &#160;&#160;&#160;&#160;int v;
      |              ^
main.c:6:20: error: stray '#' in program
    6 | &#160;&#160;&#160;&#160;int v;
      |                    ^
main.c:8:1: error: expected identifier or '(' before '&' token
    8 | &#160;
      | ^
main.c:8:2: error: stray '#' in program
    8 | &#160;
      |  ^
main.c:10:1: error: expected identifier or '(' before '&' token
   10 | &#160;
      | ^
main.c:10:2: error: stray '#' in program
   10 | &#160;
      |  ^
main.c:14:1: error: expected identifier or '(' before '&' token
   14 | &#160;
      | ^
main.c:14:2: error: stray '#' in program
   14 | &#160;
      |  ^
main.c: In function 'InitList':
main.c:17:2: error: stray '#' in program
   17 | &#160;&#160;&#160;&#160;int i;
      |  ^
main.c:17:1: error: lvalue required as unary '&' operand
   17 | &#160;&#160;&#160;&#160;int i;
      | ^
main.c:17:8: error: stray '#' in program
   17 | &#160;&#160;&#160;&#160;int i;
      |        ^
main.c:17:7: error: lvalue required as unary '&' operand
   17 | &#160;&#160;&#160;&#160;int i;
      |       ^
main.c:17:14: error: stray '#' in program
   17 | &#160;&#160;&#160;&#160;int i;
      |              ^
main.c:17:13: error: lvalue required as unary '&' operand
   17 | &#160;&#160;&#160;&#160;int i;
      |             ^
main.c:17:20: error: stray '#' in program
   17 | &#160;&#160;&#160;&#160;int i;
      |                    ^
main.c:17:19: error: lvalue required as unary '&' operand
   17 | &#160;&#160;&#160;&#160;int i;
      |                   ^
main.c:18:2: error: stray '#' in program
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |  ^
main.c:18:1: error: lvalue required as unary '&' operand
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      | ^
main.c:18:8: error: stray '#' in program
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |        ^
main.c:18:7: error: lvalue required as unary '&' operand
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |       ^
main.c:18:14: error: stray '#' in program
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |              ^
main.c:18:13: error: lvalue required as unary '&' operand
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |             ^
main.c:18:20: error: stray '#' in program
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |                    ^
main.c:18:19: error: lvalue required as unary '&' operand
   18 | &#160;&#160;&#160;&#160;for (i = 0; i < n; i++){
      |                   ^
main.c:19:2: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |  ^
main.c:19:1: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      | ^
main.c:19:8: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |        ^
main.c:19:7: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |       ^
main.c:19:14: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |              ^
main.c:19:13: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |             ^
main.c:19:20: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                    ^
main.c:19:19: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                   ^
main.c:19:26: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                          ^
main.c:19:25: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                         ^
main.c:19:32: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                ^
main.c:19:31: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                               ^
main.c:19:38: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                      ^
main.c:19:37: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                     ^
main.c:19:44: error: stray '#' in program
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                            ^
main.c:19:43: error: lvalue required as unary '&' operand
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                           ^
main.c:19:58: error: 'IntList' has no member named 'next'
   19 | &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sorted[i].next = NULL;
      |                                                          ^
main.c:20:2: error: stray '#' in program
   20 | &#160;&#160;&#160;&#160;}
      |  ^
main.c:20:1: error: lvalue required as unary '&' operand
   20 | &#160;&#160;&#160;&#160;}
      | ^
main.c:20:8: error: stray '#' in program
   20 | &#160;&#160;&#160;&#160;}
      |        ^
main.c:20:7: error: lvalue required as unary '&' operand
   20 | &#160;&#160;&#160;&#160;}
      |       ^
main.c:20:14: error: stray '#' in program
   20 | &#160;&#160;&#160;&#160;}
      |              ^
main.c:20:13: error: lvalue required as unary '&' operand
   20 | &#160;&#160;&#160;&#160;}
      |             ^
main.c:20:20: error: stray '#' in program
   20 | &#160;&#160;&#160;&#160;}
      |                    ^
main.c:20:19: error: lvalue required as unary '&' operand
   20 | &#160;&#160;&#160;&#160;}
      |                   ^
main.c: At top level:
main.c:22:1: error: expected identifier or '(' before '&' token
   22 | &#160;
      | ^
main.c:22:2: error: stray '#' in program
   22 | &#160;
      |  ^
main.c: In function 'MergeSort':
main.c:25:2: error: stray '#' in program
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |  ^
main.c:25:1: error: lvalue required as unary '&' operand
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      | ^
main.c:25:8: error: stray '#' in program
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |        ^
main.c:25:7: error: lvalue required as unary '&' operand
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |       ^
main.c:25:14: error: stray '#' in program
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |              ^
main.c:25:13: error: lvalue required as unary '&' operand
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |             ^
main.c:25:20: error: stray '#' in program
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |                    ^
main.c:25:19: error: lvalue required as unary '&' operand
   25 | &#160;&#160;&#160;&#160;int m = f + l >> 1;
      |                   ^
main.c:26:2: error: stray '#' in program
   26 | &#160;
      |  ^
main.c:26:1: error: lvalue required as unary '&' operand
   26 | &#160;
      | ^
main.c:27:2: error: stray '#' in program
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |  ^
main.c:27:1: error: lvalue required as unary '&' operand
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      | ^
main.c:27:8: error: stray '#' in program
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |        ^
main.c:27:7: error: lvalue required as unary '&' operand
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |       ^
main.c:27:14: error: stray '#' in program
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |              ^
main.c:27:13: error: lvalue required as unary '&' operand
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |             ^
main.c:27:20: error: stray '#' in program
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |                    ^
main.c:27:19: error: lvalue required as unary '&' operand
   27 | &#160;&#160;&#160;&#160;if (f == l - 1) return (sorted + f);
      |                   ^
main.c:28:2: error: stray '#' in program
   28 | &#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));
      |  ^
main.c:28:1: error: lvalue required as unary '&' operand
   28 | &#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));
      | ^
main.c:28:8: error: stray '#' in program
   28 | &#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));
      |        ^
main.c:28:7: error: lvalue required as unary '&' operand
   28 | &#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));
      |       ^
main.c:28:14: error: stray '#' in program
   28 | &#160;&#160;&#160;&#160;return (Merge(MergeSort(f, m), MergeSort(m, l)));