17 char f4(char *p, int k) {
21 #define TTYPE(name, type, OP, OP2) \
22 void dest_am_##name##type(type *arr, int from, int to) { \
25 for(i = from; i < to; ++i) { \
26 arr[i] = OP arr[i] OP2; \
30 #define T(name, OP, OP2) \
31 TTYPE(name,int,OP,OP2) \
32 TTYPE(name,short,OP,OP2) \
33 TTYPE(name,char,OP,OP2)
48 int arrint[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
49 short arrshort[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
50 char arrchar[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
54 #define CTYPE(type,name) dest_am_##name##type(arr##type, 0, 10); \
55 for(i = 0; i < 10; ++i) { \
56 printf("%d ", arr##type[i]); \