回 帖 发 新 帖 刷新版面

主题:请教:vc++宏运用的问题?

我的程序是:
#define P printf
#define D "%d\n"
#define F "%f\n"
main()
{
int a=5, c=8, e=11;
float b=3.8, d=9.7, f=21.08;
P(D F,a,b);
P(D F,c,d);
P(D F,e,f);

运行结果是:
Compiling...
Error spawning cl.exe

宏定义运用.exe - 1 error(s), 0 warning(s)


请问,Error spawning 是什么意思啊,我用到宏的时候都出现这种情况,想请教诸位同仁,能不能帮我个忙,谢谢了!

回复列表 (共6个回复)

沙发

你想像一下把宏全部代进去变什么样了?语法错误是当然的。

板凳


还有就是,我运行其他的原来能运行的程序的时候,也出现这种错误,我就不知道是什么原因了?我用了一下宏,但是不知道宏到底是怎么用的?是不是出错了

我上面写的程序是从一个网页上贴过来的,应该没问题啊?
谢谢了

3 楼

P(D F,a,b)等价与printf("%d\n""%f\n",a,b)
语法明显有问题

4 楼

宏是在真正编译你的文件之前就提前查到你的代码中的。发现编译不对,就带回去看看,一般这样都能找到错误。

5 楼

对于"abc""def"之类的语句,编译器会自动把它转换为"abcdef",因此这里不存在问题。

把编译器提示的error放在这里对于解决问题有所帮助。现在只能让那些熟悉vc的朋友们回答这个问题了

6 楼

是否与特定的环境有关,我这没有问题.
#include <stdio.h>
#define P printf
#define D "%d\n"
#define F "%f\n"
void main()
{
int a=5, c=8, e=11;
float b=3.8, d=9.7, f=21.08;
P(D F,a,b);
P(D F,c,d);
P(D F,e,f);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册