第四章-函数与程序结构

4.1

#include <stdio.h>
#define MAXLINE 1000
int add_getline(char line[], int max);
int strindex(char source[], char searchfor[]);

char pattern[] = "ray";

int main(void)
{
    char line[MAXLINE];
    int found = 0;

    while(add_getline(line, MAXLINE) > 0){
        printf("run here1\n");
        if(strindex(line, pattern) >= 0){
            printf("%s", line);
            found++;
        printf("run here2\n");
        }
    }
    return found;
}

int add_getline(char s[], int lim)
{
    int c, i;
    i = 0;
    while(--lim > 0 && (c=getchar()) != EOF && c != ‘\n‘)
        s[i++] = c;
    if(c == ‘\n‘)
        s[i++] = c;
    s[i] = ‘\0‘;
    printf("run here3 i:%d\n", i);
    return i;
}

int strindex(char s[], char t[])
{
    int i, j, k;
    printf("run here4\n");
    for(i = 0; s[i] != ‘\0‘; i++){
        printf("run here5\n");
        for(j=i, k=0; t[k]!=‘\0‘ && s[j]==t[k]; j++, k++)
            printf("s[%d]=%c, t[%d]=%c\n", j,s[j],k, t[k]);
        if(k > 0 && t[k] == ‘\0‘){
            printf("k:%d\n",k);
            return i;
        }
    }
    printf("run here6\n");
    return -1;
}
时间: 2024-10-05 05:02:49

第四章-函数与程序结构的相关文章

《C程序设计语言(第2版&#183;新版)》第4章 函数与程序结构

函数功能:隐藏操作细节,结构更加清晰,降低修改难度: 4.1 函数基本知识 返回值类型 函数名(参数声明表) { 声明和语句 } 函数在源文件中出现的次序可以任意: 返回值类型省略则默认int:return可不带表达式,执行到最后右花括号也会返回:都是没有返回值的,合法,但未成功返回的“值”肯定是无用的: 程序可看做变量定义与函数定义的集合:函数通过参数.返回值和外部变量通信: 4.2 返回非整型的函数 函数与调用它的主函数在同一源文件中,并且类型不一致时,编译就会发现该错误: 隐式声明:如果未

第四章 函数之基本结构

4.1 基本结构 本质: 将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方式:面向过程----函数式编程(多)----面向对象编程 基本结构 # 函数的定义def 函数名(): 函数内容 pass# 函数的执行函数名() # 示例一 def list_data(): v = [11,54,52] print(v[1]) list_data() # 54 函数如果不被调用,则内部永远不会被执行

第四章 Matlab的循环结构

第四章 Matlab的循环结构 4.1 while循环 while expression code_block end 4.2 while循环举例 1) mean(a):均值,其中,a = [1 2 3 4 5 6 7 8 9] 2) std(a):标准差 4.3 for循环 1) 形式 for index=expr code_block end index是循环指数,它读取数组expr的列数,expr有多少列,循环就执行多少次,expr最常见的就是冒号表达式. 如:for ii=1:2:10 

C语言函数与程序结构

title : C语言函数与程序结构 tags : C语言作用域规则 , 外部变量 ,静态变量 ,寄存器变量,宏定义 grammar_cjkRuby: true --- 外部变量 变量声明用于说明变量的属性(类型),而变量定义还会引起存储器分配 int sp; double s[MAX]; 声明地方:函数外 如果上面的变量定义在所有函数之外,即为外部变量,并为这两个外部变量sp.s[MAX],分配储存单元以及数组的长度,在其源文件中的所有函数都可以使用这两个外部变量. extern int sp

汇编语言学习第四章-第一个程序

本博文系列参考自<<汇编语言>>第三版,作者:王爽 前面的几章中我们断断续续的学习了一些指令,但是从来没有完整的通过汇编语言编写一个可执行文件即.exe文件.从本章开始我们将开始使用汇编语言并通过编译器编译链接一个完整的可执行文件. 4.1 一个源程序从写出到执行的过程 如下图所示,为一个完整的汇编程序到执行的过程: 上图的过程可以总结成以下几个步骤: (1) 根据汇编语言语法规则和目标程序工程编写汇编程序.这一步在文本编辑器或者在一些IDE中编写. (2) 通过汇编编译器将编写的

Javascript模式(第四章函数)------读书笔记

一 背景 js函数的两个特点:1 函数是第一类对象(first-class object):2 函数可以提供作用域 1 函数是对象: 1 函数可以在运行时动态创建,还可以在程序执行过程中创建 2 可以被赋值给变量,还可以被删除 3 可以作为参数传递给别的函数,可以作为返回值,被别的函数返回, 4 可以拥有自己的属性和方法 2 由于JS没有块级作用域的概念,因此在涉及到控制变量作用域的时候,函数是必不可少的工具 1.1 消除术语歧义:我们来看一下命名函数表达式.你们函数表达式以及函数声明的定义 1

《C程序设计语言》笔记 (四) 函数与程序结构

目录 4.1 函数的基本知识 4.2 返回非整型值的函数 4.3 外部变量 4.4 作用域规则 4.5 头文件 4.6 静态变量 4.7 寄存器变量 4.8 程序块结构 4.9 初始化 4.10 递归 4.11 C预处理器 文件包含 宏替换 条件包含 4.1 函数的基本知识 函数可以把大的计算任务分解成若干个较小的任务 C语言在设计中考虑了函数的高效性与易用性这两个因素 程序可以看成是变量定义和函数定义的集合 函数之间的通信可以通过参数.函数返回值以及外部变量进行 函数在源文件中出现的次序可以是

第三章 数据决定程序结构

本章主要讲解一个合适的数据结构对一个程序的重要性.一个好的数据类型能够节省开发时间也能够节省内存的消耗. 文末总结一下四点: 1.使用数组重新编写重复代码.在现在的变成中主要用到的是list.map之类的数据结构来代替数组. 2.封装复杂结构.抽象bean. 3.尽可能使用高级工具.超文本.名字-值对.电子表格.数据库.编程语言等都是特定问题领域中的强大的工具.由于本书出版的年份较早,这里提到的基本都是日常开发需要用到的.比较新的工具redis在现在工程中刚接触到.也是基于键-值对的形式存储数据

JAVA-初步认识-第四章-函数-两个明确-练习2

一. 在对函数的练习中,将之前所做过的所有小程序都用函数功能化一遍.除了练习了函数的书写,还回顾了一些特定代码的书写. 注解:跳出本例来看,像这种没有返回值的功能是否可以说,没有参数加入.→不对,之前输出矩形符号的例子里就有参数的加入. 注解:学习到这里,对于前面的许多知识点理解不够深入,很多细节也已经忘记. 注解:左右两侧不一样.