`
529112036yk
  • 浏览: 530 次
  • 性别: 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之前声明
分享到:
评论
发表评论

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

相关推荐

    复杂函数申明解析

    它建议从变量名开始,向左看第一个符号,决定这个符号是什么(例如`*`表示指针,`&`表示引用),然后向右看第一个符号,决定声明的下一个部分,以此类推,直到完成整个声明的解析。例如对于`int* (*(*fp)(int))[10];...

    函数指针的范例

    这申明了一个函数指针变量 FunP,它可以指向任何一个与 MyFun 函数具有相同参数和返回值的函数。 有了函数指针变量 FunP 后,我们可以对它赋值指向 MyFun,然后通过 FunP 来调用 MyFun 函数。例如: ```c int main...

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

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

    VC++常用函数

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

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

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

    有关引用类型的总结.pdf

    3. **不是新变量:** 声明一个引用并不创建新的数据存储空间,它只是目标变量的一个别名。因此,引用本身不占用存储空间。 ```cpp int a = 10; int& ref = a; // ref 不是一个新变量,它是a的别名 ``` 4. **...

    微软面试题集锦-C/C++试题

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

    c/c++笔试、面试题目

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

    C、C++笔试题集锦+.pdf

    在申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。 三、函数参数 将“引用”作为函数参数有哪些特点?...

    ios应用源码之免责申明的一个文本翻页demo 2018127

    这个"ios应用源码之免责申明的一个文本翻页demo"就是针对这一需求的一个示例代码,它提供了如何优雅地实现文本翻页效果的方法。这个Demo适用于那些希望在自己的iOS应用中添加类似功能的开发者。 首先,我们要理解...

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

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

    VC 函数库+各种功能的实现

    #### 五十八、在一个函数引用另外的一个对话框 - **知识点**: 引用另一个对话框通常涉及到创建新对话框实例。 - **示例**: 使用`CDialog::DoModal`。 #### 五十九、全局函数的申明问题 - **知识点**: 声明全局...

    理解C# String类型:特殊的引用类型

    C# String 类型是一个特殊的引用类型,它的实例是只读的。这意味着 String 类型的变量在被赋值时,实际上是重新创建了一个字符串,而不是修改原来的字符串。这点与其他引用类型不同。 在 C# 中,String 类型的传递...

    C/C++笔试试题(word文档版,内附答案)

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

    摩托罗拉C++面试题

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

    2023年c语言面试大全.doc

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

    cc++笔试题汇总软件工程师学习用.docx

    申明一个引用的时候,需要对其进行初始化,否则将会报错。引用不能作为数组的元素,也不能被重新定义为其他变量的别名。 3. 函数参数传递: CC++笔试题汇总软件工程师学习用中,函数参数传递有多种方式,包括传递值...

    在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?.pdf

    extern "C" 是连接申明(linkage declaration),它告诉编译器,以 C 语言的方式编译和连接变量和函数。这种方式使得 C++ 程序可以调用被 C 编译器编译后的函数。 在 C++ 中,函数被编译后,在符号库中的名字与 C ...

    C、C++笔试题集锦

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

Global site tag (gtag.js) - Google Analytics