| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9760 人关注过本帖
标题:自定义函数要放在前面还是后面呢?声明部分我放在main函数后面也行,可有人说 ...
只看楼主 加入收藏
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:9 
自定义函数要放在前面还是后面呢?声明部分我放在main函数后面也行,可有人说不行
#include<stdio.h>

int main()
{
    void action1(int,int),action2(int,int);   //自定义函数要先声明
    char ch;
    int a=15,b=23;
    ch=getchar();
    switch(ch)
    {
        case'a':
        case'A':action1(a,b);break;        //调用action1函数,执行A操作
        case'b':
        case'B':action2(a,b);break;        //调用action2函数,执行B操作
        default:putchar('\a');            //如果输入其他字符,发出警告
            return 0;
    }
}
void action1(int x,int y)            //执行加法函数
    {
        printf("x+y=%d\n",x+y);
    }
void action2(int x,int y)            //执行乘法函数
    {
        printf("x*y=%d\n",x*y);
    }   
搜索更多相关主题的帖子: default include return 
2017-01-08 20:53
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
收藏
得分:0 
我输入多个字符也可以运行,比如输入输入ABC,则按A函数指令,能不能设置为输入多个字符转入default发出警报呢?
2017-01-08 20:55
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
收藏
得分:0 
2017-01-08 21:03
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:2 
声明放在main函数前,是必须的除非不用,不信把第五行注释掉。立马不能编译了


我是硬件工程师
2017-01-08 21:35
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:2 
其他函数放在主函数前面就不需要声明了,放在主函数后面是需要声明的。
2017-01-08 21:43
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:2 
既然这样你可以把自定义函数放在前面,
在引用自定义函数时,前面必须要有它的定义.
写在main函数里与外面无所谓

早知做人那么辛苦!  当初不应该下凡
2017-01-08 22:22
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
#include<stdio.h>

int main()
{
    void action1(int,int),action2(int,int);   //自定义函数要先声明
    char ch,ch1;
   
    int a=15,b=23;
    ch=getchar() ;                  ////////////////////增加一个变量ch1
     ch1=getchar() ;
      if(ch1=='\n')           ///////////////第二个字符如果不是回车就else报警
 
    switch(ch)
    {
        case'a':
        case'A':action1(a,b);break;        //调用action1函数,执行A操作
        case'b':
        case'B':action2(a,b);break;        //调用action2函数,执行B操作
        default:putchar('\a');            //如果输入其他字符,发出警告
            return 0;
    }
 else putchar('\a');
}
void action1(int x,int y)            //执行加法函数
    {
        printf("x+y=%d\n",x+y);
    }
void action2(int x,int y)            //执行乘法函数
    {
        printf("x*y=%d\n",x*y);
    }

我是硬件工程师
2017-01-08 22:25
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
调用函数可以在main之前定义,也可以在mian里面定义~但不能在调用函数里面嵌套定义~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-09 01:04
云团
Rank: 2
等 级:论坛游民
帖 子:36
专家分:41
注 册:2017-1-9
收藏
得分:2 

    void action1(int,int),action2(int,int);
   改成  void action1(int,int);
         void action2(int,int);
2017-01-10 20:33
云团
Rank: 2
等 级:论坛游民
帖 子:36
专家分:41
注 册:2017-1-9
收藏
得分:0 
回复 2楼 C初见
就算输入一个字符串,若是用 getchar()只能每次读入一个字符
2017-01-10 20:35
快速回复:自定义函数要放在前面还是后面呢?声明部分我放在main函数后面也行,可有 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016394 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved