Я пытаюсь решить два вопроса, связанных с препроцессором, но в обеих программах я получаю результаты, которые не могу понять, как это сделать. Ниже моя программа:
#include<stdio.h>
#define SQUARE(x) x*x
int main()
{
float s=10,u=30 ,t=2,a;
a=2*(s-u*t)/SQUARE(t);
printf("Result:%f\n",a);
return 0;
}
По моему мнению, вывод этой программы должен быть -25.000
, но я получаю -100.000
.
И во второй программе:
#define FUN(i,j) i##j
int main()
{
int val1 = 10;
int val12 = 20;
clrscr();
printf("%d\n",FUN(val1,2));
getch();
}
Вывод должен быть 102
, но я получаю 20
; почему это так?