File: main.c

package info (click to toggle)
cbmc 5.10-5
  • links: PTS
  • area: main
  • in suites: buster
  • size: 73,416 kB
  • sloc: cpp: 264,330; ansic: 38,268; java: 19,025; python: 4,539; yacc: 4,275; makefile: 2,547; lex: 2,394; sh: 932; perl: 525; xml: 289; pascal: 169
file content (38 lines) | stat: -rw-r--r-- 469 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <assert.h>

#define SIZE 21

struct str
{
  int x;
  int y;
  int z;
};

struct str a[SIZE];

int pass_through_array_of_struct (int q)
{
  a[0].x = q;

  for (int i = 1; i < SIZE; ++i)
  {
    switch (i % 3)
    {
    case 1 : a[i].y = a[i-1].x; break;
    case 2 : a[i].z = a[i-1].y; break;
    case 0 : a[i].x = a[i-1].z; break;
    }
  }

  return a[SIZE - 1].z;
}

int main (void)
{
  int q;

  assert(q == pass_through_array_of_struct(q));

  return 1;
}