怎么做
- 题面里的虚线方框就是要填的空
- 点候选项,它会填进当前高亮的那个空
- 点已填好的空,可以把选项取回来重选
- 全部填满后「提交」才会亮起
卡住了就点右下角的 👩🏫 问 AI 老师,她会给提示但不直接给答案。
宏只是原样替换文字
#define S(x) x*x:预处理只做「文字替换」,不先算括号
写的是 S(x+y)
替换成 x+y*x+y 乘号先算!
加括号 ((x+y)*(x+y))
以 # 开头的行叫预处理命令,在编译之前就处理掉:
#include <stdio.h>:把 stdio.h 这个文件的内容原样「抄」到这里。#define N 3:不带参数的宏。之后代码里的N都被替换成3。末尾不加分号。#define S(x) x*x:带参数的宏。S(5)被替换成5*5。
关键:宏只是原样替换文字,不先算参数、也没有类型。
#include <stdio.h>
#define N 3
#define S(x) x*x
int main(void)
{
int a = 2;
printf("%d\n", N * 2);
printf("%d\n", S(a + 1));
printf("%d\n", S(N));
return 0;
}
S(a + 1) 被替换成【0】,所以第 2 行输出【1】;第 3 行输出【2】。
请登录后作答。
去登录
👩🏫
AI
💬 题目评论
🔒
登录并作答后可看讨论