编译问题
#include <stdio.h>#define IF if(
#define THEN ){
#define ELSE }else{
#define FI ;}
#define INT int
#define BEGIN {
#define END }
INT main()
BEGIN
INT i;
printf("请输入您的年龄:");
scanf("%d", &i);
IF i < 18
THEN
printf("您未满18周岁,不得使用这个程序!\n");
ELSE
printf("您已满18周岁,欢迎使用本程序,嘿嘿嘿...\n");
FI
return 0;
END
这里的THEN为什么不能换成DO(编译显示错误),这两个不是一样的吗?
#define THEN ){
#define DO ){
FI不是代表;}吗,可是最后只有}呀,{:10_266:} {:10_266:} 你这是C程序吗? 风过无痕1989 发表于 2020-12-26 21:53
你这是C程序吗?
是呀 本帖最后由 风过无痕1989 于 2020-12-27 23:22 编辑
炸药小碉堡 发表于 2020-12-27 23:08
是呀
我知道了,你全部使用宏定义了
我运行了,程序正常,没有问题 你这个define用的没有必要,特殊字符啥的不需要自己定义,增加阅读难度 tian1234 发表于 2020-12-28 10:58
你这个define用的没有必要,特殊字符啥的不需要自己定义,增加阅读难度
这是课后作业{:10_266:} 能回答一下问题吗{:10_277:} 炸药小碉堡 发表于 2020-12-31 14:06
能回答一下问题吗
可能是你的编译器的问题,我改了之后,运行也是正常的,下两图分别是 VS2015 与 DEV_C++的运行输出
页:
[1]