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;
}
#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;
}
//
// 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;
}