我想解决两个预处理器相关的问题,但在这两个程序中我得到的结果,我无法弄清楚如何。下面是我的程序:为什么我的C程序输出这个?
#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
; 这是为什么呢?
我怀疑的#include> stdio.h>中 甚至会编... – PhiLho 2011-03-07 12:01:39
对不起@PhiLho它的#include –
2011-03-07 12:18:56
你的第二个例子就不会编译。请复制/粘贴您使用的确切源代码。 – 2011-03-07 12:33:13