可变参数的使用

来源:互联网 发布:linux操作系统教程 pdf 编辑:程序博客网 时间:2024/06/05 04:50

可变参数的作业

#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<stdlib.h>#include<string.h>void bubble_str(char *str[], int sz){    int i = 0;    int j = 0;    for(i = 0;i<sz - 1;i++)    {        for(j = 0;j<sz - 1 - i;j++)        {            if(strcmp(*(str+ j), *(str + j + 1))>0)            {                char *tmp = *(str + j);                *(str + j) = *(str + j + 1);                *(str + j + 1) = tmp;            }        }    }}int main(){    int i = 0;    char *str[] = { "cccc","bbbb","dddd", "aaaa"};    bubble_str(str, sizeof(str) / sizeof(*str));    for(i = 0;i<sizeof(str) / sizeof(*str);i++)    {        printf("%s ", *(str + i));    }    printf("\n");    system("pause");    return 0;}

**.使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:命令行参数输入:test.exe -a 1 2。
执行1+2输出3 **

#define _CRT_SECURE_NO_WARNINGS 0#include<stdio.h>#include<string.h>#include<stdlib.h>int main(int argc, char* argv[]){    int i = 0;    int ret = 0;    if (argc != 4)    {        printf("请检查你的参数\n");        return 0;    }    if (argv[1][0] == '-')    {        switch (argv[1][1])        {        case 'a':            ret = atoi(argv[2]) + atoi(argv[3]);            break;        case 's':            ret = atoi(argv[2]) - atoi(argv[3]);            break;        case 'm':            ret = atoi(argv[2])* atoi(argv[3]);            break;        case 'd':            ret = atoi(argv[2]) / atoi(argv[3]);            break;        default:            printf("第二个参数有误\n");            break;        }    }    printf("ret=%d\n", ret);    system("pause");    return 0;}
原创粉丝点击