A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 董月峰 于 2014-3-24 14:46 编辑

/*
6、 输入两个数,打印(printf)这两个数的和、差、积、商、以及余数。(C语言编程题)
*/

#include<stdio.h>

int count(int num1, int num2, int *num3, int *num4, double *num5, int *num6)
{
    if(num1 - num2 > 0)
        *num3= num1 - num2;
    else
        *num3= num2 - num1;
   
    *num4= num2 * num1;
   
    *num5= (num1 * 1.0) / num2;
   
    *num6= num2 % num1;
   
    return(num1 + num2);
}


int main()
{
    int a,b;
    printf("请输入2个整数(中间用逗号隔开):\n");
    scanf("%d,%d",&a,&b);
    int add, minus, multiply, remainder;
    double divide;
    add= count(int num1, int num2, &minus, &multiply, ÷, &remainder);//这行报错了【expected expression这个错误】,求证
   
    printf("2个数的和是%d,差是%d,积是%d,商是%f,余数是%d\n",add, minus, multiply, divide, remainder);
  
   
    return 0;
}

7 个回复

倒序浏览
请看你的第五个参数,典型的粗心add= count(int num1, int num2, &minus, &multiply, ÷, &remainder);//这行报错了
回复 使用道具 举报
本帖最后由 脸皮猴 于 2014-3-18 12:27 编辑

- -||看错了
回复 使用道具 举报
第一个,第二个参数,把类型名去掉add=count(num1,  num2, &num3, &num4, &num5, &num6)
回复 使用道具 举报
第一个,第二个参数改成a,b :add=count(a,  b, &num3, &num4, &num5, &num6);
因为要计算的是输入a、b的值

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报 1 0
好吧···楼上我看错了··没注意你得num1和2是int型变量不是指针。。。。
还有有一个建议···你这程序不要这么写···很难受看着。。。。老师看见会印象不好,小建议欢迎采纳·
回复 使用道具 举报
bao9107 发表于 2014-3-18 12:15
第一个,第二个参数改成a,b :add=count(a,  b, &num3, &num4, &num5, &num6);
因为要计算的是输入a、b的 ...

感谢群友,哈哈,当时看视频打的草稿,直接复制到xcode里面果然有错误。为了技术分~
回复 使用道具 举报
舒华 初级黑马 2014-3-19 15:03:58
8#
int count(int num1, int num2, int *num3, int *num4, double *num5, int *num6)
//上面的括号内的是形参;

add= count(int num1, int num2, &minus, &multiply, ÷, &remainder);
//上面的括号内的是实参;

形参里的变量要有类型修饰符修饰,例如: int ,float,double,int *;
实参里的变量不需要类型修饰符修饰;但是要和函数的形参里的类型一 一对应;
如果形参是   “类型*” 那么相应的实参传入的变量前面要加“&”取地址符修饰。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马