鱼C论坛

 找回密码
 立即注册
查看: 3019|回复: 3

NO.143 定义&宏定义

[复制链接]
发表于 2022-3-7 22:19:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Q:下列定义不正确的是
A.#define P1 3.121592
B.#define S345
C.int max(x,y);     intx,y;{ }
D.static char c;


答案是C,但不知道为什么

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-7 23:01:38 | 显示全部楼层
函数的具体实现应当
int max(x,y){
     int x,y;

xxx
}

这种提问方法,会对其他人形成依赖,对自己的学习成长是不利的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-10 15:32:16 | 显示全部楼层
#include <stdio.h>
#include <math.h>

int main()
{
            
        int max(x,y);    
                int x,y;
                { 
                }
     
        return 0;
}

7行        17列       
[Error] 'x' was not declared in this scope
7        19       
[Error] 'y' was not declared in this scope
7        20        int max(x,y);  
[Error] expression list treated as compound expression in initializer [-fpermissive]
[错误]在初始化器中被视为复合表达式的表达式列表

把x,y先定义后
#include <stdio.h>
#include <math.h>

int main()
{
            int x,y;
        int max(x,y);    
                
                { 
                }
     
        return 0;
}
7        20        int max(x,y);  
[Error] expression list treated as compound expression in initializer [-fpermissive]
[错误]在初始化器中被视为复合表达式的表达式列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-10 15:36:37 | 显示全部楼层
风扫地 发表于 2022-3-7 23:01
函数的具体实现应当
int max(x,y){
     int x,y;
#include <stdio.h>
#include <math.h>

int main()
{
            
        int max(x,y)
                {
          int x,y;

         xxx
        }
        return 0;
}

7行        17列        
[Error] 'x' was not declared in this scope
7        19        
[Error] 'y' was not declared in this scope
7        20        int max(x,y);  
[Error] expression list treated as compound expression in initializer [-fpermissive]
8        3       
[Error] expected ',' or ';' before '{' token


补;
#include <stdio.h>
#include <math.h>

int main()
{
            
        int max(x,y);
                {
          int x,y;

         
        }
        return 0;
}
7行        17列        
[Error] 'x' was not declared in this scope
7        19        
[Error] 'y' was not declared in this scope
7        20        int max(x,y);  
[Error] expression list treated as compound expression in initializer [-fpermissive]



所以int max(x,y); 是有什么问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 16:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表