`
529112036yk
  • 浏览: 485 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

@引用一个函数要先申明它

c 
阅读更多
引用一个函数需要先申明,这就是为什么别人会把main函数写在后面,见下例:
/********编译出错**************************/
int mian(void)
{
    char ch,str[80],*p = NULL;
    printf("Please input the string:\n");
    scanf("%s",str);
    getchar();
    ch = getchar();
    if(p = match(str,ch) != NULL)   //error:‘match’的上一个隐式声明在此
        printf("%s\n",p);
    else
        printf("Not Found\n");
    return (NULL);
}
char *match(char *s,char ch)  //error:与‘match’类型冲突
{
    while(*s != '\0')
        if(*s == ch)
            return(s);
        else
            s++;
        return(NULL);
}
/********编译出错**************************/

将main函数放下面就OK了,
或者在main之前加char *match(char *s,char ch);也行。
反正就是要在main之前声明
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    浅谈Vuex@2.3.0 中的 state 支持函数申明

    vuex 2.3.0 的发布说明: Modules can now ...假如你 vuex 的模块有多个格式是完全一样的, 这时候就可以把这个模块公共出来, 在 Vuex 实例里引用, 如: import api from '~api' const actions = { async ['get']({

    VC++常用的共用函数100多页

    ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序中*APP.CPP中的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数中通过传入的窗口句柄操作窗口◆ 30 ◆如何...

    在keil中生成个人库文件及调用方法

    2、可以把多个.c 文件合成一个lib 文件,这样在工程就不必要把每一个.c 文件都添加一遍。 3、相比添加.c 文件,它具有不使用已经申明的extern 函数也不会出现Keil 经典的UNCALLED FUNC warning。更重要的是,不使用...

    摩托罗拉C++面试题

    不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,显得很安全。 const 指针仍然存在空指针,并且有可能产生野指针. 总的来说:引用既具有指针的效率,又具有变量使用的方便性...

    C、C++笔试题集锦

    C、C++笔试题集锦 ...声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。

    PHP各版本中函数的类型声明详解

    定义一个函数非常的简单,使用 function name(args) {body} 的语法声明。不能指定参数和返回值类型,参数和返回值类型有无限种可能。这是到目前为止最常见的函数声明方式。 数组和引用类型参数值声明(PHP 5) 数组...

    经典C/C++面试题目大汇总(全附答案).doc

    申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名...

    C_C++笔试题集锦_(已排版)

    申明和使用“引用”要注意哪些问题? 4. 在什么时候需要使用“常引用”?  11. 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C...

    LuaBind 源码 (Lua增强库)

    第一次开始一个协程的时候,你必须给它一个入口函数. 当一个协程返回(yield)的时候, resume_fucntion()调用的返回值是 lua_yield()的第一个传入参数.当你想要继续一个 协程的时候,你只需要调用 resume() 在你的 lua_...

    java CallBack(回调函数)

    简要说明接口回调:即使实现接口类的引用赋值给该接口申明的变量,然后该变量就可以调用接口中的方法了(当接口变量调用接口中的方法的时候,实际上我们处理的是该接口实现类中的相应的函数的实现部分)。

    浅谈Javascript中的函数、this以及原型

    在Javascript中函数实际上就是一个对象,具有引用类型的特征,所以你可以将函数直接传递给变量,这个变量将表示指向函数“对象”的指针,例如: function test(message){ alert(message); } var f = ...

    js教程,详细介绍js语法函数

    js详细教程,包括js创建,变量申明,函数创建,类库引用等。通过此PPT,肯定对于你的JS之路,起到更大作用

    JavaScript变量作用域_动力节点Java学院整理

    如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量: 'use strict'; function foo() { var x = 1; x = x + 1; } x = x + 2; // ReferenceError! 无法在函数体外引用变量x ...

    程序员笔试题

    结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值...

    C语言FAQ 常见问题列表

    o 5.4 我有个函数,它应该接受并初始化一个指针 void f(int *ip) { static int dummy = 5; ip = &dummy;} 但是当我如下调用时: int *ip; f(ip); 调用者的指针却没有任何变化。 o 5.5 我能否用 void** 指针作为参数,...

    C++中双冒号::的作用浅析

    在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。 class MyClass{ public: int num; int fun();//类体内申明函数 }; //类体外定义函数 int MyClass::fun(){ return 1; } •...

    C++/C试题 C++/C试题 C++/C试题

    申明和使用“引用”要注意哪些问题? 将“引用”作为函数参数有哪些特点? 在什么时候需要使用“常引用”?  将“引用”作为函数返回值类型的格式、好处和需要遵守的规则? “引用”与指针的区别是什么? 什么时候...

    egret工具:事件监听管理器

    //申明一个广播对象“dispatchSprite” private dispatchSprite: egret.Sprite; public constructor() { super(); //字典使用对象作为key引用存储数据.对象作为key实际上需要进行遍历索引,所以在同一个字典中...

    VC++常用功能实例

    ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序中*APP.CPP中的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数中通过传入的窗口句柄操作窗口◆ 30 ◆如何...

    C++_笔试面试题目大汇总.pdf

    什么是“引用”?申明和使用“引用”要注意哪些问题? 将“引用”作为函数参数有哪些特点? 在什么时候需要使用“常引用”? 。。。 。。。

Global site tag (gtag.js) - Google Analytics