|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #define exchange(a,b)
- {
- int t;\
- t=a;\
- a=b;\
- b=t;\
- }
- int main()
- {
- int x=10 ;
- int y=20 ;
- printf("x=%d ; y=%d \n", x , y );
- exchange(x,y);
- printf("x=%d ; y=%d \n", x , y );
- }
复制代码
今天看到一个宏定义的练习,代码如上,运行显示错误,提示如图,请知道的鱼油帮忙解答下!!!
error C2449: found '{' at file scope (missing function header?)
error C2059: syntax error : '}'
首先,你的代码中定义了一个宏exchange(a,b),但是宏定义应该是不需要加大括号的。另外,还需要包含stdio.h头文件来使用printf函数。
修改后的代码如下:
- #include <stdio.h>
- #define exchange(a,b) \
- { \
- int t = a; \
- a = b; \
- b = t; \
- }
- int main()
- {
- int x = 10;
- int y = 20;
- printf("x=%d ; y=%d \n", x, y);
- exchange(x, y);
- printf("x=%d ; y=%d \n", x, y);
- }
复制代码
这段代码中,我们定义了一个宏exchange(a,b),用于交换两个变量的值。在main函数中,我们首先初始化了变量x和y的值分别为10和20,然后使用printf打印出它们的当前值。
接下来,我们调用exchange宏来交换变量x和y的值。具体实现是通过一个临时变量t来暂存变量a的值,然后将a赋值为b,再将b赋值为t。这样,变量x和y的值就完成了交换。
最后,我们再次使用printf来验证交换是否成功。现在你可以运行代码并观察输出结果,看看变量x和y的值是否被成功交换了。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
|
|