欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Day10_C语言基础

Day10_C语言基础

2025/9/19 14:55:40 来源:https://blog.csdn.net/liujing10232929/article/details/148542511  浏览:    关键词:Day10_C语言基础

1.思维导图

2.2.argc和argv的问题

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int ret=0;int num1=atoi(argv[1]);int num2=atoi(argv[3]);if(argc!=4){printf("输入的参数不符合标准%s\n",argv[0]);return 1;}if(strcmp((argv[2]),"+")==0){ret=num1+num2;printf("%d+%d=%d\n",num1,num2,ret);}else if(strcmp(argv[2],"*")==0){ret=num1*num2;printf("%d*%d=%d\n",num1,num2,ret);}                                                                 else if(strcmp(argv[2],"/")==0){if(num2==0){printf("除数的不能是零\n");return 1;}ret=num1/num2;printf("%d/%d=%d\n",num1,num2,ret);}else if(strcmp(argv[2],"%")==0){if(num2==0){printf("被取模数不能是零\n");return 1;}ret=num1%num2;printf("%d%%%d=%d\n",num1,num2,ret);}else{printf("输入的参数不符合标准%s\n",argv[2]);return 1;}return 0;
}

方法二:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main(int argc, const char *argv[])
{int ret = 0;int num1 = atoi(argv[1]);int num2 = atoi(argv[3]);// 检查命令行参数数量是否符合要求if(argc != 4) {printf("输入的参数不符合标准%s\n", argv[0]);return 1;}// 使用 switch case 处理不同运算符switch (*(argv[2])) {case '+':ret = num1 + num2;printf("%d+%d=%d\n", num1, num2, ret);                           break;case '*':ret = num1 * num2;printf("%d*%d=%d\n", num1, num2, ret);break;case '/':if (num2 == 0) {printf("除数不能是零\n");return 1;}ret = num1 / num2;printf("%d/%d=%d\n", num1, num2, ret);break;case '%':if (num2 == 0) {printf("被取模数不能是零\n");return 1;}ret = num1 % num2;printf("%d%%%d=%d\n", num1, num2, ret);break;default:printf("输入的参数不符合标准%s\n", argv[2]);return 1;}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词