新濠天地 > c语言 > 2、函数的调用,   函数定义---返回值

原标题:2、函数的调用,   函数定义---返回值

浏览次数:170 时间:2019-09-20

一、函数

Python之函数总括,python总括

一、函数

1、为啥要用函数

    a、幸免代码重用

    b、提升代码的可读性

2、函数的调用

   返回值=函数名(参数1,参数2)

   函数定义---重回值

   关键字:return

3、return的作用:

    a、停止函数的推行

    b、再次回到要回去的值

4、再次回到值的二种情景

    a、重临值为None

新濠天地 1

def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    print(length)


str_len = mylen()
print(str_len)

不写return 新濠天地 2

def ret():
    print(111)
    return
    print(222)

re = ret()
print(re)

只写return 新濠天地 3

def ret():
    print(111)
    return None
    print(222)

re = ret()
print(re)

return None

    b、再次来到值不为None

         1、再次回到三个值

新濠天地 4

def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    return length

str_len = mylen()
print(str_len)

回来三个值

          2、重回多少个值

5、函数的调用----接受再次来到值

   a、再次回到值为None    不收受

   b、重返值不为None

       1、再次来到二个值

               用叁个变量接受

       2、再次回到多少个值

               a、用二个变量接受,接受的结果是一个元祖

               b、有多少个重返值就用有个别个值接受

6、参数

    a、参数----站在概念函数的角度

         1、地方参数

         2、暗中同意参数

         3、动态参数

              a、*args

              b、**kwargs

各样:地点参数、*args、暗中同意参数、**kwargs

     b、参数----站在调用函数的角度上

         1、依照职位传参

         2、遵照珍视字传参

         3、动态传参*tup,**dic

7、参数分为形参和实参   

     a、实参:调用函数的时候传出的参数

8、地点参数

     a、地方参数必得传值

新濠天地 5

def aaa(a,b):
    print(a,b)
aaa(1,2)

地方参数

9、暗许参数

     a、私下认可参数可以不传值

新濠天地 6

def bbb(x=10):
    print(x)
 bbb()     #x = 10
 bbb(20)  #x = 20

暗许参数

10、动态参数

新濠天地 7

def ccc(*args):#1,2,3,4,5
    print(args)

ccc(1,2,3,4,5)#按位置传参数

t = (1,2,3,4,5)
ccc(t)  ((1, 2, 3, 4, 5),)
ccc(*t)  (1, 2, 3, 4, 5)
复制代码

动态参数 新濠天地 8

def ddd(**kwargs):
    print(kwargs)

 ddd(k = 'a',j = 'b')#按关键字传参数

动态参数+关键字参数 新濠天地 9

def eee(*args,**kwargs):
    print(args,kwargs)

 eee(12,123)

动态,先按岗位参数,再按重要性字参数

11、命名空间

     a、命名空间分为二种

            1、全局命名空间

            2、局地命名空间

            3、内置命名空间

     b、三种命名空间的顺序:内置命名空间>全局命名空间>局地命名空间

     c、取值

           1、在一部分调用:局地命名空间->全局命名空间->内置命名空间

新濠天地 10

x = 1
def f(x):
    print(x)

print(10)

View Code

          2、在大局调用:全局命名空间->内置命名空间

新濠天地 11

x = 1
def f(x):
    print(x)

f(10)
print(x)

View Code

12、作用域

      a、  作用域正是意义范围,遵照生效范围能够分成全局功用域和局地成效域。

      b、  全局成效域:包蕴放到名称空间、全局名称空间,在全体文件的轻巧位置都能被引用、全局有效

      c、局地功效域:局地名称空间,只好在有的范围生效

作用域:
小范围的可以用大范围的
但是大范围的不能用小范围的
范围从大到小(图)
在小范围内,如果要用一个变量,是当前这个小范围有的,就用自己的
如果在小范围内没有,就用上一级的,上一级没有就用上上一级的,以此类推。
如果都没有,报错

13、闭包

       a、闭包分为:

            1、闭:内部函数

            2、包:包括对表面函数的效率域中变量的援引

       b、闭包常用的的样式

新濠天地 12

def hei():
    x = 20
    def inner():
        print(x)  #局部的
    return inner

i = hei()
i()  #全局

闭包常用格局

14、函数值装饰器

      a、装饰器的实质:闭包函数

      b、装饰器的功力:就是在不退换原函数调用格局的情状下,在这些函数的内外加上扩大成效

新濠天地 13

def timer(func):
    def inner(a):
        start = time.time()
        func(a)
        print(time.time() - start)
    return inner

@timer
def func1(a):
    print(a)

func1(1)

带参数的装饰器

15、装饰器的盛清远闭原则:

      a、对扩展是开放的

      b、对修改是密封的

新濠天地 14

def timer(func):
    def inner(*args,**kwargs):
        '''执行函数之前要做的'''
        re = func(*args,**kwargs)
        '''执行函数之后要做的'''
        return re
    return inner

装饰器的定势情势

16、装饰器应用场景

      a、总括func的举行时间

      b、登陆认证

17、可迭代

      a、字符串,列表,集结,字典,元祖这几个度可以for循环,表明他俩是可迭代的

      b、迭代正是:将有个别数据集内的数额二个挨二个的抽出来,就 叫做可迭代

      c、可迭代对应标识:__iter__

18、迭代商业事务

      a、希望以此数据类型里的东西也能够动用for被一个二个的收取来,那大家就不可能不满足for的须要

      b、可迭代公约——凡是可迭代的内部都有三个__iter__方法

19、迭代器公约

      a、迭代器合同 : 中间贯彻了__iter__ __next__方法

 可迭代和迭代器的区别点 : 迭代器多达成了叁个__next__方法

 可迭代和迭代器的同样点 : 都能够用for循环

20、判别迭代器和可迭代的方法 

       a、第一种:推断当中是还是不是兑现了 __next__** **

                           '__next__' in dir(o)

       b、第二种

from collections import Iterable  #可迭代
from collections import Iterator  #迭代器
isinstance(o,Iterable)
isinstance(o,Iterator)

21、生成器

      a、生成器函数:常规函数定义,但是,使用yield语句并非return语句重回结果。yield语句一次回到一个结出,在每一种结果中间,

          挂起函数的情状,以便后一次重它离开的地点继续实践

      b、生成器表明式:类似于列表推导,可是,生成器再次来到按需发生结果的四个对象,并非三遍营造八个结出列表**

生成器函数

新濠天地 15

def func():
    print('aaaa')
    a = 1
    yield a    #返回第一个值
    print('bbbb')
    yield 12   #返回第二个值
ret = func()  #拿到一个生成器
print(ret)
print(next(ret)) #取第一个值
print(next(ret)) #取第二个值
print(next(ret)) #取第三个值 会报错 因为没有第三个值

生成器函数

22、列表推导式

平常:

新濠天地 16

for i in range(100):
    print(i*i)

n*n

列表推到:

新濠天地 17

l =[i*i for i in range(100)]
print(l)

n*n

23、递归函数

     a、在一个函数里调用本人

     b、Python递归最大层数限制997

     c、最大层数限制是python暗许的,能够做修改,但是不建议你改改

     d、递归实例

新濠天地 18

def age(n):
    if n == 1:
        return 40
    else:
        ret = age(n-1)
        return ret + 2
age(5)

算年龄

     e、递归停止标识:return

递归三级菜单

新濠天地 19

menu = {
    '北京': {
        '海淀': {
            '五道口': {
                'soho': {},
                '网易': {},
                'google': {}
            },
            '中关村': {
                '爱奇艺': {},
                '汽车之家': {},
                'youku': {},
            },
            '上地': {
                '百度': {},
            },
        },
        '昌平': {
            '沙河': {
                '老男孩': {},
                '北航': {},
            },
            '天通苑': {},
            '回龙观': {},
        },
        '朝阳': {},
        '东城': {},
    },
    '上海': {
        '闵行': {
            "人民广场": {
                '炸鸡店': {}
            }
        },
        '闸北': {
            '火车战': {
                '携程': {}
            }
        },
        '浦东': {},
    },
    '山东': {},
}

def threeLM(menu):
    for key in menu:
        print(key)
    k = input(">>>")
    if k in menu:
        threeLM(menu[k])

threeLM(menu)

三级菜单

24、佚名函数

     a、 佚名函数 轻便的内需用函数去化解的主题材料 佚名函数的函数体 唯有一行,也叫lambda

     b、 函数名 = lambda 参数 :返回值

     c、参数能够有四个,用逗号隔离,无名氏函数不管逻辑多复杂,只可以写一行,且逻辑推行完成后的剧情就是重返值。重返值和例行的函数同样能够是随意数据类型

新濠天地 20

add2 = lambda x,y : x+y
ret = add2(1,2)
print(ret)

View Code 新濠天地 21

l = [1,2,3,4]
print(list(map(lambda x:x*x , l)))

View Code

新濠天地 22

25、内置函数

    a、isinstance  判定变量的数据类型

temp = "asdfsdfs"  

r = isinstance(temp, list)  

print(r)

    b、lambda用法:

def f1():  

    return 123  

f2 = lambda :123  

r1 = f1()  

r2 = f2()  

print(r1,r2)

def f3(a1,a2):  

    return a1 + a2  

f4 = lambda a1,a2: a1 + a2  

r3 = f3(1,2)  

r4 = f4(3,4)  

print(r3,r4) 

    c、abs--取相对值

i = abs(-123)  

print(123)

    d、divmod  除商得余数---比如分页

a = 10 / 3  

print(a)  

r = divmod(10,3)  

print(r)  

结果:  

3.33333335  

(3,1) 

   e、eval  -----强制不转移输入类型的格式

ret = eval("1 + 3")  

print(ret)  

结果:4 

   f、filter (过滤)

ret = filter(lambda x: x >22, [11,22,33,44])  

for i in ret:  

    print(i)

  g、map  无论是map照旧filter,获得的结果都是可迭代的对象,迭代器的实例

def f1(x):  

    if x % 2 == 1:  

       return x + 100  

    else:  

       return x  

ret = map(f1, [1,2,3,4,5])  

ret2 = map(lambda x: x + 100if x % 2 == 1 else x ,[1,2,3,4,5])  

print(ret)  

for i in ret :  

    print(i) 

   h、max()最大数 min()  最小数

li = [11,22,123,1]  

r = max(li)  

print(r)  

a = min(li)  

print(a) 

   g、pow(x,y) ----就是求x的y次方

i = pow(2,100)  

print(i) 

   k、zip ---意思就是取多个变量中索引相对应的值

li1 = [11,22,33,44]  

li2 =["a",'VV',"c","E"]  

r = zip(li1,li2)  

print(r)  

for i in r :  

    print(i)

  l、、open---打开,关闭,close

模式    描述
r      打开一个文件为只读。文件指针被放置在文件的开头。这是默认模式。
rb     打开一个文件只能以二进制格式读取。文件指针被放置在文件的开头。这是默认模式。
r+     打开用于读和写文件。文件指针置于该文件的开头。
rb+    打开用于读取和写入二进制格式的文件。文件指针置于该文件的开头。
w      打开一个文件只写。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。
wb     打开一个文件只能以二进制格式写入。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。
w+     打开文件为写入和读取模式。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。
wb+    打开用于以二进制格式写入和读出文件。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。
a      打开用于追加的文件。文件指针是在文件是否存在该文件的末尾。也就是说,该文件是在追加模式。如果该文件不存在,它会创建一个用于写入的新文件。
ab     打开文件用于二进制格式追加。文件指针是在文件是否存在该文件的末尾。也就是说,文件是在追加模式。 如果该文件不存在,它会创建一个用于写入的新文件。
a+     打开文件为追加和读取方式。文件指针是在文件是否存在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建用于读写操作的新文件。
ab+    打开一个文件以附加和二进制格式读取模式。如果该文件存在文件指针在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建读写操作的新文件。

 

 

 

 

 

 

        

 

 

   

 

 

 

       

 

   

一、函数 1、为何要用函数 a、制止代码重用 b、进步代码的可读性 2、函数的调用 再次来到值=函数名(参数1,参...

1、为何要用函数

    a、制止代码重用

    b、提升代码的可读性

2、函数的调用

   返回值=函数名(参数1,参数2)

   函数定义---重返值

   关键字:return

3、return的作用:

    a、甘休函数的进行

    b、重返要回到的值

4、重临值的三种情状

    a、再次来到值为None

新濠天地 23新濠天地 24

def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    print(length)


str_len = mylen()
print(str_len)

不写return

新濠天地 25新濠天地 26

def ret():
    print(111)
    return
    print(222)

re = ret()
print(re)

只写return

新濠天地 27新濠天地 28

def ret():
    print(111)
    return None
    print(222)

re = ret()
print(re)

return None

    b、重回值不为None

         1、重临四个值

新濠天地 29新濠天地 30

def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    return length

str_len = mylen()
print(str_len)

回去多少个值

          2、再次回到八个值

5、函数的调用----接受重临值

   a、再次回到值为None    不收受

   b、重临值不为None

       1、重临一个值

               用三个变量接受

       2、再次来到四个值

               a、用贰个变量接受,接受的结果是三个元祖

               b、有多少个再次来到值就用略带个值接受

新濠天地,6、参数

    a、参数----站在概念函数的角度

         1、地方参数

         2、私下认可参数

         3、动态参数

              a、*args

              b、**kwargs

逐一:地点参数、*args、暗中认可参数、**kwargs

     b、参数----站在调用函数的角度上

         1、遵照岗位传参

         2、依照重视字传参

         3、动态传参*tup,**dic

7、参数分为形参和实参   

     a、实参:调用函数的时候传出的参数

8、地点参数

     a、地点参数必需传值

新濠天地 31新濠天地 32

def aaa(a,b):
    print(a,b)
aaa(1,2)

职位参数

9、默许参数

     a、暗中同意参数能够不传值

新濠天地 33新濠天地 34

def bbb(x=10):
    print(x)
 bbb()     #x = 10
 bbb(20)  #x = 20

暗许参数

10、动态参数

新濠天地 35新濠天地 36

def ccc(*args):#1,2,3,4,5
    print(args)

ccc(1,2,3,4,5)#按位置传参数

t = (1,2,3,4,5)
ccc(t)  ((1, 2, 3, 4, 5),)
ccc(*t)  (1, 2, 3, 4, 5)
复制代码

动态参数

新濠天地 37新濠天地 38

def ddd(**kwargs):
    print(kwargs)

 ddd(k = 'a',j = 'b')#按关键字传参数

动态参数+关键字参数

新濠天地 39新濠天地 40

def eee(*args,**kwargs):
    print(args,kwargs)

 eee(12,123)

动态,先按任务参数,再按主要性字参数

11、命名空间

     a、命名空间分为二种

            1、全局命名空间

            2、局地命名空间

            3、内置命名空间

     b、二种命名空间的依次:内置命名空间>全局命名空间>局地命名空间

     c、取值

           1、在部分调用:局部命名空间->全局命名空间->内置命名空间

新濠天地 41新濠天地 42

x = 1
def f(x):
    print(x)

print(10)

View Code

          2、在大局调用:全局命名空间->内置命名空间

新濠天地 43新濠天地 44

x = 1
def f(x):
    print(x)

f(10)
print(x)

View Code

12、作用域

      a、  成效域便是效果与利益范围,遵照生效范围能够分成全局功能域和一部分作用域。

      b、  全局作用域:富含内置名称空间、全局名称空间,在全部文件的自由地方都能被引述、全局有效

      c、局地效能域:局地名称空间,只可以在一部分范围生效

作用域:
小范围的可以用大范围的
但是大范围的不能用小范围的
范围从大到小(图)
在小范围内,如果要用一个变量,是当前这个小范围有的,就用自己的
如果在小范围内没有,就用上一级的,上一级没有就用上上一级的,以此类推。
如果都没有,报错

13、闭包

       a、闭包分为:

            1、闭:内部函数

            2、包:包蕴对表面函数的成效域中变量的援用

       b、闭包常用的的形式

新濠天地 45新濠天地 46

def hei():
    x = 20
    def inner():
        print(x)  #局部的
    return inner

i = hei()
i()  #全局

闭包常用情势

14、函数值装饰器

      a、装饰器的真面目:闭包函数

      b、装饰器的效能:正是在不更换原函数调用格局的情形下,在这些函数的左右加上扩展效率

新濠天地 47新濠天地 48

def timer(func):
    def inner(a):
        start = time.time()
        func(a)
        print(time.time() - start)
    return inner

@timer
def func1(a):
    print(a)

func1(1)

带参数的装饰器

15、装饰器的绽放密闭原则:

      a、对扩张是开放的

      b、对修改是密闭的

新濠天地 49新濠天地 50

def timer(func):
    def inner(*args,**kwargs):
        '''执行函数之前要做的'''
        re = func(*args,**kwargs)
        '''执行函数之后要做的'''
        return re
    return inner

装饰器的稳定方式

16、装饰器应用场景

      a、计算func的实行时间

      b、登入认证

17、可迭代

      a、字符串,列表,集结,字典,元祖那几个度可以for循环,表达他们是可迭代的

      b、迭代正是:将有个别数据集内的多少三个挨八个的收取来,就 叫做可迭代

      c、可迭代对应标识:__iter__

18、迭代左券

      a、梦想以此数据类型里的事物也能够运用for被一个贰个的抽取来,那大家就非得满意for的要求

      b、可迭代公约——凡是可迭代的中间皆有三个__iter__方法

19、迭代器协议

      a、迭代器协议 : 其间贯彻了__iter__ __next__方法

 可迭代和迭代器的不相同点 : 迭代器多完毕了八个__next__方法

 可迭代和迭代器的一样点 : 都能够用for循环

20、决断迭代器和可迭代的措施 

       a、第一种:判别个中是或不是完毕了 __next__** **

                           '__next__' in dir(o)

       b、第二种

from collections import Iterable  #可迭代
from collections import Iterator  #迭代器
isinstance(o,Iterable)
isinstance(o,Iterator)

21、生成器

      a、生成器函数:常规函数定义,可是,使用yield语句实际不是return语句重回结果。yield语句二次回到贰个结出,在每一个结果中间,

          挂起函数的情状,以便下一次重它离开的地点继续实践

      b、生成器表达式:类似于列表推导,不过,生成器重返按需发生结果的四个对象,实际不是二遍营造二个结出列表**

生成器函数

新濠天地 51新濠天地 52

def func():
    print('aaaa')
    a = 1
    yield a    #返回第一个值
    print('bbbb')
    yield 12   #返回第二个值
ret = func()  #拿到一个生成器
print(ret)
print(next(ret)) #取第一个值
print(next(ret)) #取第二个值
print(next(ret)) #取第三个值 会报错 因为没有第三个值

生成器函数

22、列表推导式

平常:

新濠天地 53新濠天地 54

for i in range(100):
    print(i*i)

n*n

列表推到:

新濠天地 55新濠天地 56

l =[i*i for i in range(100)]
print(l)

n*n

23、递归函数

     a、在三个函数里调用本人

     b、Python递归最大层数限制997

     c、最大层数限制是python暗中认可的,能够做修改,可是不提议您改改

     d、递归实例

新濠天地 57新濠天地 58

def age(n):
    if n == 1:
        return 40
    else:
        ret = age(n-1)
        return ret + 2
age(5)

算年龄

     e、递归截至标记:return

递归三级菜单

新濠天地 59新濠天地 60

menu = {
    '北京': {
        '海淀': {
            '五道口': {
                'soho': {},
                '网易': {},
                'google': {}
            },
            '中关村': {
                '爱奇艺': {},
                '汽车之家': {},
                'youku': {},
            },
            '上地': {
                '百度': {},
            },
        },
        '昌平': {
            '沙河': {
                '老男孩': {},
                '北航': {},
            },
            '天通苑': {},
            '回龙观': {},
        },
        '朝阳': {},
        '东城': {},
    },
    '上海': {
        '闵行': {
            "人民广场": {
                '炸鸡店': {}
            }
        },
        '闸北': {
            '火车战': {
                '携程': {}
            }
        },
        '浦东': {},
    },
    '山东': {},
}

def threeLM(menu):
    for key in menu:
        print(key)
    k = input(">>>")
    if k in menu:
        threeLM(menu[k])

threeLM(menu)

三级菜单

24、无名函数

     a、 无名氏函数 简单的急需用函数去化解的标题 无名氏函数的函数体 唯有一行,也叫lambda

     b、 函数名 = lambda 参数 :返回值

     c、参数能够有多少个,用逗号隔断,无名氏函数不管逻辑多复杂,只可以写一行,且逻辑试行完结后的内容正是重临值。重返值和例行的函数同样能够是随便数据类型

新濠天地 61新濠天地 62

add2 = lambda x,y : x+y
ret = add2(1,2)
print(ret)

View Code

新濠天地 63新濠天地 64

l = [1,2,3,4]
print(list(map(lambda x:x*x , l)))

View Code

新濠天地 65

25、内置函数

    a、isinstance  判定变量的数据类型

temp = "asdfsdfs"  

r = isinstance(temp, list)  

print(r)

    b、lambda用法:

def f1():  

    return 123  

f2 = lambda :123  

r1 = f1()  

r2 = f2()  

print(r1,r2)

def f3(a1,a2):  

    return a1 + a2  

f4 = lambda a1,a2: a1 + a2  

r3 = f3(1,2)  

r4 = f4(3,4)  

print(r3,r4) 

    c、abs--取相对值

i = abs(-123)  

print(123)

    d、divmod  除商得余数---比如分页

a = 10 / 3  

print(a)  

r = divmod(10,3)  

print(r)  

结果:  

3.33333335  

(3,1) 

   e、eval  -----强制不调换输入类型的格式

ret = eval("1 + 3")  

print(ret)  

结果:4 

   f、filter (过滤)

ret = filter(lambda x: x >22, [11,22,33,44])  

for i in ret:  

    print(i)

  g、map  无论是map依然filter,得到的结果都是可迭代的靶子,迭代器的实例

def f1(x):  

    if x % 2 == 1:  

       return x + 100  

    else:  

       return x  

ret = map(f1, [1,2,3,4,5])  

ret2 = map(lambda x: x + 100if x % 2 == 1 else x ,[1,2,3,4,5])  

print(ret)  

for i in ret :  

    print(i) 

   h、max()最大数 min()  最小数

li = [11,22,123,1]  

r = max(li)  

print(r)  

a = min(li)  

print(a) 

   g、pow(x,y) ----就是求x的y次方

i = pow(2,100)  

print(i) 

   k、zip ---意思就是取七个变量中索引相对应的值

li1 = [11,22,33,44]  

li2 =["a",'VV',"c","E"]  

r = zip(li1,li2)  

print(r)  

for i in r :  

    print(i)

  l、、open---打开,关闭,close

模式    描述
r      打开一个文件为只读。文件指针被放置在文件的开头。这是默认模式。
rb     打开一个文件只能以二进制格式读取。文件指针被放置在文件的开头。这是默认模式。
r+     打开用于读和写文件。文件指针置于该文件的开头。
rb+    打开用于读取和写入二进制格式的文件。文件指针置于该文件的开头。
w      打开一个文件只写。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。
wb     打开一个文件只能以二进制格式写入。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。
w+     打开文件为写入和读取模式。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。
wb+    打开用于以二进制格式写入和读出文件。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。
a      打开用于追加的文件。文件指针是在文件是否存在该文件的末尾。也就是说,该文件是在追加模式。如果该文件不存在,它会创建一个用于写入的新文件。
ab     打开文件用于二进制格式追加。文件指针是在文件是否存在该文件的末尾。也就是说,文件是在追加模式。 如果该文件不存在,它会创建一个用于写入的新文件。
a+     打开文件为追加和读取方式。文件指针是在文件是否存在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建用于读写操作的新文件。
ab+    打开一个文件以附加和二进制格式读取模式。如果该文件存在文件指针在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建读写操作的新文件。

 

 

 

 

 

 

        

 

 

   

 

 

 

       

 

   

本文由新濠天地发布于c语言,转载请注明出处:2、函数的调用,   函数定义---返回值

关键词:

上一篇:【新濠天地】是一种软件中断,SIGKILL   终止进

下一篇:没有了