首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
若有宏定义:#define S(a,b) t=a;a=b;b
[单选题]
若有宏定义:
#define S(a,b) t=a;a=b;b=t
由于变量 t 没定义,所以此宏定义在编译时是错误的。请问这句话的说法是正确的吗?
正确
错误
查看正确选项
添加笔记
求解答(23)
邀请回答
收藏(490)
分享
16个回答
添加回答
62
真的懒得起
宏定义不做语法检查。
预处理是在编译之前的处理,而编译的工作之一便是语法检查,所以预处理不做语法检查。
题中的S(a,b)是没问题的,有问题的调用的地方。
宏定义在代码中只是简单的替换,调用时简单的将S(a,b)替换为“
t=a;a=b;b=t“,编译时会显示t未定义。
但是若是只是有宏定义,但代码中未使用S(a,b)的话,是不会出现t未定义的情况的,因为在代码中压根就没有替换来的”
t=a;a=b;b=t
“。
编辑于 2018-09-27 21:04:48
回复(3)
30
亦是昨非
宏定义不作类型检查
发表于 2017-10-29 09:24:20
回复(0)
4
牛客884125819号
宏定义就是起展开的作用,至于有没有定义是你main函数里面的事情了。
发表于 2022-05-20 14:34:07
回复(0)
4
学思行仁
在VS2015上是编译错误的:t是未定义标识符
发表于 2018-07-05 16:55:29
回复(3)
2
呜呜_呜呜
注意是编译期间!宏不对类型进行检查,使用时进行简单的替换,编译没有问题,但运行期间会有t未定义的错误报告
发表于 2022-11-04 02:29:28
回复(0)
2
许愿春招offer
宏定义没错,但是运行错误
发表于 2020-02-09 11:09:47
回复(0)
1
嵌入式小虾米
预处理操作进行处理并不会进行语法检查,这个阶段有错也不会报错,第二个阶段即编译阶段才会进行语法检查
发表于 2023-07-26 11:25:07
回复(0)
0
胖乎乎的海豚很神奇
未使用宏,编译没问题,因为没有做替换;
使用了宏,编译出错,替换后,t 没有定义。
发表于 2023-06-08 09:08:10
回复(0)
0
逆袭的黑马
如果只是宏定义而言,不会做类型检查,但是如果调用了函数S,就会显示未定义t这个错误
发表于 2022-06-02 14:09:14
回复(0)
0
小牛牛王
宏定义不做语法检查。
预处理是在编译之前的处理,而编译的工作之一便是语法检查,所以预处理不做语法检查。
题中的S(a,b)是没问题的,有问题的调用的地方。
宏定义在代码中只是简单的替换,调用时简单的将S(a,b)替换为“
t=a;a=b;b=t“,编译时会显示t未定义。
但是若是只是有宏定义,但代码中未使用S(a,b)的话,是不会出现t未定义的情况的,因为在代码中压根就没有替换来的”
t=a;a=b;b=t
“。
发表于 2022-05-22 14:10:46
回复(0)
0
迟缓的比尔在看牛客
如果只定义这个宏,然后不使用编译不会报错;如果使用了该宏,需要事先定义t;
发表于 2021-09-05 10:39:57
回复(0)
0
i-Wish
咬文嚼字题
😒
发表于 2020-10-22 19:43:34
回复(0)
0
许愿有个offer
#define是预处理,预处理不检查语法错误
发表于 2019-09-06 15:34:19
回复(0)
0
verybighua
实测结果,是可以的,这句话是错的
发表于 2018-04-23 22:42:03
回复(3)
0
走位崴了脚
宏定义不做类型检查,所以题目这种宏定义方式是正确的;只不过调用这个宏之前必须定义变量t,要不然会报错,vs2010亲测
编辑于 2018-05-29 08:28:54
回复(5)
0
流翎
宏定义后不能有分号
发表于 2017-09-20 19:45:32
回复(2)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C语言
上传者:
赞花婆
难度:
16条回答
490收藏
9182浏览
热门推荐
相关试题
假定指针变量 p 定义为 “int...
360集团
C++
C语言
评论
(36)
来自
360公司2014校招笔试卷
class A; class B;...
360集团
C++
C语言
评论
(18)
来自
360公司2014校招笔试卷
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
请你说几个海量数据存储常见问题以及...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题