17 char f4(char *p, int k) {
21 short f5(short *p, int k) {
25 #define TTYPE(name, type, OP, OP2) \
26 void dest_am_##name##type(type *arr, int from, int to) { \
29 for(i = from; i < to; ++i) { \
30 arr[i] = OP arr[i] OP2; \
34 #define T(name, OP, OP2) \
35 TTYPE(name,int,OP,OP2) \
36 TTYPE(name,short,OP,OP2) \
37 TTYPE(name,char,OP,OP2)
52 int arrint[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
53 short arrshort[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
54 char arrchar[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
58 #define CTYPE(type,name) dest_am_##name##type(arr##type, 0, 10); \
59 for(i = 0; i < 10; ++i) { \
60 printf("%d ", arr##type[i]); \