В C, при попытке ##, это работает странно, если int предоставляются в качестве переменных.
Есть такая функция:
#включить <stdio.h>
#определить UNI(x,y) x##2
тап_п(недействительными) {
int i = 5;
инт И2 = -2;
printf("%d",UNI(i,i2));
возвращает 0;
}
Это печатает -2, когда он должен печатать 52!
Что я уже пробовал:
#Define работает только в том случае, если число после ## равно 2. Все остальные числа приводят к ошибке компиляции. Кроме того, если число равно 2, то результат равен -2 независимо от значения i.
Прикинул, что x##2 всегда будет переворачивать результат Y. Почему?
CPallini
Что ты пытаешься сделать?