| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1364 人关注过本帖
标题:C语言关于命令行参数程序,帮忙看下怎么回事
只看楼主 加入收藏
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
结帖率:92%
收藏
已结贴  问题点数:20 回复次数:2 
C语言关于命令行参数程序,帮忙看下怎么回事
#include<stdlib.h>
#include<stdio.h>

int main(int argc, char *argv[]){
  int a,b;
  a=atoi(argv[1]);
  b=atoi(argv[3]);
  switch(argv[2][0]){
    case '+' : printf("%d + %d = %d\n",a,b,a+b);break;
    case '-' : printf("%d - %d = %d\n",a,b,a-b);break;
    case '*' : printf("%d * %d = %d\n",a,b,a*b);break;  
    case '/' : printf("%d / %d = %d\n",a,b,a/b);
       }
   return 0;
}
这个程序要求参数是两个整数,一个符号(加,减,乘,除),
然后进行相应的运算并显示出算式和结果。

问题:Linux系统下运行时加,减,除都正常,为什么乘法无法运行?

运行结果举例:
linux@ubuntu:~$ ./ex7 3 + 5
3 + 5 = 8
linux@ubuntu:~$ ./ex7 3 - 5
3 - 5 = -2
linux@ubuntu:~$ ./ex7 3 * 5
linux@ubuntu:~$
搜索更多相关主题的帖子: 参数 case printf linux ubuntu 
2018-02-04 21:51
lulipro
Rank: 2
等 级:论坛游民
威 望:1
帖 子:11
专家分:60
注 册:2016-4-5
收藏
得分:20 
*在命令行中有通配符的意思,我估计是被当在通配符了,你把代码中的*换成字母 x 再试试吧
2018-02-04 22:04
青蝶
Rank: 2
等 级:论坛游民
帖 子:160
专家分:51
注 册:2018-2-4
收藏
得分:0 
回复 2楼 lulipro
谢谢大佬~
2018-02-04 22:13
快速回复:C语言关于命令行参数程序,帮忙看下怎么回事
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283843 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved