功能在我的程序中不起作用

时间:2017-07-06 05:52:03

标签: c

我的编译器说“函数中的参数太少”。我无法弄清楚出了什么问题。有没有人知道我做错了什么?

#include<stdio.h>
#include<math.h>
int show(int a, int b, int c);

main( ){
int a, b = 10, c = 24;
printf("Enter a number\n");
scanf("%d\n", &a);
show(int a, int b, int c);
system("pause");
}

int show(int a, int b, int c){
if(a>c){
    printf("a is the largest number\n");
} else if(a>b){
    printf("a is smaller than c\n");
} else if(a<b){
    printf("a is bigger than b\n");
} else{
    printf("a is the smallest number \n");
}
return;
}

4 个答案:

答案 0 :(得分:1)

您已在函数调用中声明了变量。它在C中无效。

所以,请使用此:

show(a, b, c);

而不是

show(int a, int b, int c);

答案 1 :(得分:1)

#include<stdio.h>
#include<math.h>
void  show(int a, int b, int c);

main( ){
int a, b = 10, c = 24;
printf("Enter a number\n");
scanf("%d\n", &a);
show(a,b,c);
return ;
}

    void show(int a, int b, int c){
    if(a>c){
        printf("a is the largest number\n");
    } else if(a>b){
        printf("a is smaller than c\n");
    } else if(a<b){
        printf("a is bigger than b\n");
    } else{
        printf("a is the smallest number \n");
    }
 }

这是一个完整的代码请在函数中使用void,因为如果你使用int你需要一些变量来处理这个函数中的返回变量你不需要int so.try来使用 return 0 而不是 system()

  

void show(int a,int b,int c)

     

int show(int a,int b,int c)

答案 2 :(得分:0)

您将函数定义为:int show(int a, int b, int c),但使用不正确的参数调用它:show(int a, int b, int c)。你应该做的是用show(a, b, c)调用它,因为已经声明和定义了a,b,c

答案 3 :(得分:0)

应该是

#include<stdio.h>
#include<math.h>
int show(int a, int b, int c);

main( ){
int a, b = 10, c = 24;
printf("Enter a number\n");
scanf("%d\n", &a);
show(a,b,c);
system("pause");
}

int show(int a, int b, int c){
if(a>c){
    printf("a is the largest number\n");
} else if(a>b){
    printf("a is smaller than c\n");
} else if(a<b){
    printf("a is bigger than b\n");
} else{
    printf("a is the smallest number \n");
}
return;
}