1## Example operation.c
2
3```C
4#include <stdio.h>
5#include <string.h>
6#include "sass/values.h"
7
8int main( int argc, const char* argv[] )
9{
10
11  // create two new sass values to be added
12  union Sass_Value* string = sass_make_string("String");
13  union Sass_Value* number = sass_make_number(42, "nits");
14
15  // invoke the add operation which returns a new sass value
16  union Sass_Value* total = sass_value_op(ADD, string, number);
17
18  // no further use for the two operands
19  sass_delete_value(string);
20  sass_delete_value(number);
21
22  // this works since libsass will always return a
23  // string for add operations with a string as the
24  // left hand side. But you should never rely on it!
25  puts(sass_string_get_value(total));
26
27  // invoke stringification (uncompressed with precision of 5)
28  union Sass_Value* result = sass_value_stringify(total, false, 5);
29
30  // no further use for the sum
31  sass_delete_value(total);
32
33  // print the result - you may want to make
34  // sure result is indeed a string, although
35  // stringify guarantees to return a string
36  // if (sass_value_is_string(result)) {}
37  // really depends on your level of paranoia
38  puts(sass_string_get_value(result));
39
40  // finally free result
41  sass_delete_value(result);
42
43  // exit status
44  return 0;
45
46}
47```
48
49## Compile operation.c
50
51```bash
52gcc -c operation.c -o operation.o
53gcc -o operation operation.o -lsass
54./operation # => String42nits
55```
56