C语言函数

1.声明函数

 

#include <stdio.h>

//函数
void printHelloWorld() {
    printf("Hello World\n");
}

//带传入参数
void hello(char *name) {
    printf("Hello %s\n", name);
}

//多个传入参数
void hi(char *name, int age) {
    printf("Hi %s,your age is %d.\n", name, age);
}

//带返回值的函数
int add(int a, int b) {
    return a + b;
}


int main() {
    printHelloWorld();

    hello("Eva");

    hi("Susan", 20);

    int c = add(3, 4);
    printf("The result is %d.\n", c);

    return 0;
}

 


2 main 函数参数及返回值 

 

#include <stdio.h>

int main(int argc, char **argv) {

    printf("Arguments count %d\n", argc);
    printf("First argument value is %s\n",argv[0]);

    for (int i = 0; i < argc; ++i) {
        printf("Arg index :%d,arg value :%s\n", i, argv[i]);
    }

    return 0;
}


3. 可变参数

 

 

#include <stdarg.h>
#include <stdio.h>

int sum(int n, ...) {

    int all = 0;

    va_list args;//获取参数列表,int n, ...  参数可变 n个
    va_start(args, n);//开始获取可变参数

    //用for循环读取一个个参数
    for (int i = 0; i < n; i++) {
        all += va_arg(args, int);
    }
    va_end(args);//结束可变参数的获取
    return all;
}

int main() {
    printf("sum is %d.\n", sum(5, 1, 2, 3, 4, 5));//第一个5表示后面有5个参数相加
    return 0;
}

 


4. 多文件程序

 

//
// Created by Mr.Z on 2016/3/1 0001.
//

#ifndef INCLUDE_HELLO_H
#define INCLUDE_HELLO_H

void sayHello(char *name);

#endif //INCLUDE_HELLO_H
//
// Created by Mr.Z on 2016/3/1 0001.
//


#include <stdio.h>
#include "hello.h"

//static  私有的 无法被外界访问 无法直接在main中调用
static void sayHi(char *name) {
    printf("Hi %s\n", name);
}

void sayHello(char *name) {
    printf("Hello %s\n", name);
    sayHi(name);
}
#include "hello.h"



int main() {
    sayHello("Eva");
    return 0;
}


 

posted @ 2016-12-20 16:16  changchou  阅读(137)  评论(0编辑  收藏  举报