黑马程序员技术交流社区

标题: 简单的编程题用指针再做错误了,求大神检查 [打印本页]

作者: 董月峰    时间: 2014-3-18 12:04
标题: 简单的编程题用指针再做错误了,求大神检查
本帖最后由 董月峰 于 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;
}

作者: 贰的23次方    时间: 2014-3-18 12:10
请看你的第五个参数,典型的粗心add= count(int num1, int num2, &minus, &multiply, ÷, &remainder);//这行报错了
作者: 脸皮猴    时间: 2014-3-18 12:11
本帖最后由 脸皮猴 于 2014-3-18 12:27 编辑

- -||看错了
作者: 贰的23次方    时间: 2014-3-18 12:11
第一个,第二个参数,把类型名去掉add=count(num1,  num2, &num3, &num4, &num5, &num6)
作者: bao9107    时间: 2014-3-18 12:15
第一个,第二个参数改成a,b :add=count(a,  b, &num3, &num4, &num5, &num6);
因为要计算的是输入a、b的值
作者: 脸皮猴    时间: 2014-3-18 12:15
好吧···楼上我看错了··没注意你得num1和2是int型变量不是指针。。。。
还有有一个建议···你这程序不要这么写···很难受看着。。。。老师看见会印象不好,小建议欢迎采纳·
作者: 董月峰    时间: 2014-3-18 12:23
bao9107 发表于 2014-3-18 12:15
第一个,第二个参数改成a,b :add=count(a,  b, &num3, &num4, &num5, &num6);
因为要计算的是输入a、b的 ...

感谢群友,哈哈,当时看视频打的草稿,直接复制到xcode里面果然有错误。为了技术分~
作者: 舒华    时间: 2014-3-19 15:03
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 *;
实参里的变量不需要类型修饰符修饰;但是要和函数的形参里的类型一 一对应;
如果形参是   “类型*” 那么相应的实参传入的变量前面要加“&”取地址符修饰。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2