main函数传参

来源:互联网 发布:ipad商标侵权案 知乎 编辑:程序博客网 时间:2024/05/19 21:02

1、基本用法

#include <stdio.h>int main(int argc,char* argv[]){    //argc:命令行参数个数    //argv:每个命令行参数构成的数组    printf("参数个数:%d\n",argc);    int i;    for(i=0;i<argc;i++)    {        printf("第%d个参数为:%s\n",i,argv[i]);    }    if(strcmp(argv[1],"-s")==0)    {        //system("poweroff");        printf("关机!...\n");    }    else if(strcmp(argv[1],"-r")==0)    {        //system("reboot");        printf("重启!...\n");     }    return 0;}

2、综合运用,计算器

#include<stdio.h>float add(int,int);float sub(int,int);float div(int,int);float mut(int,int);void main(int argc,char* argv[])//argv为指针数组{    if(argc!=4)    {        printf("参数不够\n");        return;    }    float (*pfun)(int,int)=NULL;//函数指针,动态调用    switch(argv[2][0])//argv[2]为(+‘\0’),只取第一个符号    {        case '+':        {            pfun=add;        }        break;        case '-':        {            pfun=sub;        }        break;        case '*':            pfun=mut;        break;        case '/':            pfun=div;        break;        default:        {            printf("输入有误\n");            return ;        }    }    int num1=0,num2=0;    num1=atoi(argv[1]);    num2=atoi(argv[3]);    if(NULL!=pfun)    {        printf("%d %s %d=%.2f\n",num1,argv[2],num2,pfun(num1,num2));    }}//+float add(int a,int b){    return a+b;}// -float sub(int a,int b){    return a-b;}// /float div(int a,int b){    return (float)a/b;}//*float mut(int a,int b){    return a*b;}

 gcc calculator.c -o calc
 su root:切到root用户
 mv calc /bin :将命令移入库中
 calc 1 + 2:直接当命令用

原创粉丝点击