为什么定义函数时,必须为每个形参分别定义变量类型。以前不都是int x,y,z;吗
.李文浩 正式会员 2016-09-04 10:03:45
3159 4 0

第4课 改错题真题

给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

例如,给主函数中的变量x1、x2、x3分别输入15  11  2,
则输出结果应当是:330。

请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

#include <stdio.h>

/************found************/

fun(int  x,int y,int z )

{  int  j,t ,n ,m;

   j = 1 ;

   t=j%x;

   m=j%y ;

   n=j%z;

   while(t!=0||m!=0||n!=0)

   {  j = j+1;

      t=j%x;

      m=j%y;

      n=j%z;

   }

/************found************/

   return j;

}

main( )

{  int   x1,x2,x3,j ;

   printf("Input x1  x2  x3:  ");  scanf("%d%d%d",&x1,&x2,&x3);

   printf("x1=%d, x2=%d, x3=%d \n",x1,x2,x3);

   j=fun(x1,x2,x3);

   printf("The minimal common multiple is : %d\n",j);

}


问题来自: 改错题真题

共 4 个回答

    qqq 资深元老 助教 3192天前

    定义形参时就是每个变量都要有类型,即使类型一样也不能写成int i,j,k这样

    .李文浩 正式会员 3192天前

    回复 qqq:以前不就是这么定义的吗?include<stdio.h> int x,y,z;...........


    .李文浩 正式会员 3192天前

    回复 qqq

    #include<stdio.h>

    main()

    {

      int a=3,b=5,temp;

      printf("请输入a和b的值:");



    或是

    #include<stdio.h>

    main()

    { int a,b,max;

      switch(a)

      {

      case(1):printf("1");break;

      case(2):printf("2");break;

      case(3):printf("3");break;

      default:printf("4");break;

      

      }

      a>b?max=a:max=b;/*输出max*/

    }


    最佳答案

    qqq 资深元老 助教 3192天前

    我知道,你那是在函数里定义的变量,我说的是函数的形参定义不能写成省略形式。。

    就是说fun(int i, int j, int k)不能写成fun(int i,j,k),懂了吗?

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题