2014-12-07 70 views
-2

这些函数应该可以工作,但为什么不是它们?编译器说错误:太少的参数来运行“里面的东西”。我是C的初学者,所以原谅我的愚蠢。我也想知道一个函数中可以包含什么。C编程错误:功能太少的参数“内有任何东西”

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 

int x; 
int y; 

int multiply (int x, int y) 
{ 
    printf("()"); 
    return x*y; 
    getchar(); 
    scanf("%d", &x); 
    scanf("%d", &y); 
    printf(":\n", multiply(x, y)); 

} 

int add (int x, int y) 
{ 
    printf("()"); 
    return x+y; 
    getchar(); 
    scanf("%d", &x); 
    scanf("%d", &y); 
    printf(":\n", add(x, y)); 
} 

int divide (int x, int y) 
{ 
    printf("()"); 
    return x/y; 
    getchar(); 
    scanf("%d", &x); 
    scanf("%d", &y); 
    printf(":\n", divide(x, y)); 
} 

int subtract(int x, int y) 
{ 
    printf("()"); 
    return x-y; 
    getchar(); 
    scanf("%d", &x); 
    scanf("%d", &y); 
    printf(":\n", divide(x, y)); 
} 

int power(int x, int y) 
{ 
    printf("()"); 
    pow(x, y); 
    getchar(); 
    scanf("%d", &x); 
    scanf("%d", &y); 
    printf(":\n", power(x, y)); 
} 

//main code 

int main(void) 
{ 
    int option; 

    switch (option) 
    { 
    case 1: 
    add(); 
    break; 

    case 2: 
    subtract(); 
    break; 

    case 3: 
    multiply(); 
    break; 

    case 4: 
    divide(); 
    break; 

    case 5: 
    power(); 
    break; 


    } 
    getchar(); 
} 
+0

您正在调用main(void)中的函数,没有任何值... ex。 add()应该像add(1,1)一样。 – rfornal 2014-12-07 03:33:10

+0

非常感谢! – 2016-03-18 02:55:10

回答

3

您可能正在寻找以下代码:

#include <stdio.h> 
#include <math.h> 


int multiply (int x, int y) 
{ 
    return x*y; 
} 

int add (int x, int y) 
{ 
    return x+y; 
} 

int divide (int x, int y) 
{ 
    return x/y; 
} 

int subtract(int x, int y) 
{ 
    return x-y; 
} 

int power(int x, int y) 
{ 
    return pow(x, y); 
} 

//main code 

int main(void) 
{ 
    int option, result, x, y; 
    printf("Enter the numbers:\n"); 
    scanf("%d%d",&x,&y); 
    printf("1. Add\n2. Subtract\n3. Multiplu\n4. Divide\n5. Power\nEnter your choice:\t"); 
    scanf("%d",&option); 
    switch (option) 
    { 
    case 1: 
    result = add(x,y); 
    break; 

    case 2: 
    result = subtract(x,y); 
    break; 

    case 3: 
    result = multiply(x,y); 
    break; 

    case 4: 
    result = divide(x,y); 
    break; 

    case 5: 
    result = power(x,y); 
    break; 


    } 
    printf("\nRequired result = %d",result); 
    getchar(); 
} 

您可能需要在代码中加入像除以0一些条件不应该被允许,等外贸协会。

1

您尚未将任何参数传递给函数。

此外,如果你打算使用全局变量,不使用像参数局部变量的全局名称的功能

如:后回报

add(1,2); 
subtract(1,2) 

此外,部分犯规得到执行因为你立即返回

0

只需将一些正确的值传递给函数,同时调用它们。例如,当你调用add();这样称呼它:添加(5,4)

而且,刚刚从主(无效)除去无效。

它会工作。如果你喜欢答案,请投票。