QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 813|回复: 5

求助高手

[复制链接]
发表于 2003-9-7 21:36:23 | 显示全部楼层 |阅读模式
我是一个接触linux不是很久的菜鸟
在这里请教一下高手
请问
用C编程,要求通过命令行参数实现简单的两个数的四
则运算。比如count.exe 2 + 3,则显示结果:2+3=5
conut.exe 3 * 5 则显示:3*5=15

希望可以帮帮小弟
发表于 2003-9-7 23:28:14 | 显示全部楼层
这个编程与系统有关吗??

这个是C编程的问题吧
回复

使用道具 举报

发表于 2003-9-8 16:12:42 | 显示全部楼层
这个问题很简单,还是自己想办法处理吧,如果这个问题你自己都没有信心去解决,对以后的学习没有什么好处的。可以用vi编辑源码,然后用gcc编译
回复

使用道具 举报

 楼主| 发表于 2003-9-8 23:25:53 | 显示全部楼层
因为涉及到指针调用
而对那个我又超烂
所以希望大家可以帮忙一下
至少让我可以先从看别人的程序开始吧
谢谢了
回复

使用道具 举报

发表于 2003-9-9 00:10:59 | 显示全部楼层
看看這個:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=30649
回复

使用道具 举报

发表于 2003-9-9 14:22:25 | 显示全部楼层

Re: 求助高手

[code:1]#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
  int m, n, x;

  if (argc < 4)
    {
       printf("error");
       exit(1);
    }
  struct{
   char operated[10];
   char flag[2];
   char operate[10];
  } operation;
  strcpy(operation.operated, argv[1]);
  strcpy(operation.flag, argv[2]);
  strcpy(operation.operate, argv[3]);
  m = atoi(operation.operated);
  n = atoi(operation.operate);
  switch(operation.flag[0])
        {
           case '+':
              x = m + n;
              printf("%d + %d = %d", m, n, x);
              break;
           case '-':
              x = m - n;
              printf("%d - %d = %d", m, n, x);
              break;
           case '*':
              x = m * n;
              printf("%d * %d = %d", m, n, x);
              break;
           case '/':
              x = m / n;
              printf("%d / %d = %d", m, n, x);
              break;
           default:
              break;
        }
    return 0;
}[/code:1]
一个小程序在RH8下编译通过,但也有两个问题,一是加减除都可用,但乘不可用,不知谁能告诉我为什么;二是,如果把m,n,x的类型改为long,printf()应该做怎样的修改?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 00:20 , Processed in 0.039444 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表