使用函数求偶数

时间:2019-01-22 19:59:09

标签: c

问题:要检查输入数字是否为偶数?

#include <stdio.h>
int isEven(num)
{
    if (num%2 == 0);
    {
        printf("even");
               return 0;
    }

}
int main()
{
    int num;
    printf("Enter number :");
    scanf("%d",&num);

    isEven(num);

    return 0;
}

此代码显示每个输入数字为偶数。我做错了。

3 个答案:

答案 0 :(得分:1)

The;在if语句的末尾导致对语句的检查,但没有输入您想要的if范围,它等于 if(cond){}

通常,一个函数isEven应该返回1表示true,否则返回0。 您的函数还缺少返回值,如果条件为真,则必须返回一个int值

int isEven(num)
{
    if (num%2 == 0)
    {
        printf("even");
               return 1;/*True - is even*/
    }
    return 0; /*false - not an even number*/

}

答案 1 :(得分:0)

您的代码有两个问题。第一个是;之后的标点符号if(num%2 == 0)。第二个问题是该函数中没有流控制,因此执行将始终通过return 0;

必要的更正是这个

#include <stdio.h>
int isEven(num)
{
    if (num%2 == 0)
    {
        printf("even");
        return 0;
    } else {return -1; }

}

答案 2 :(得分:0)

您的代码有几个问题:

首先,您需要包含一些标头使其可执行。

然后,在实现该函数时,函数isEven需要返回void或int。此外,您需要为其参数指定数据类型。但是,如果您指定它返回一个整数,则需要将其分配给变量,例如int ret = isEven(num);

最后一件事是,如果您的if括号后面是;,则表示要终止的行。

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

void isEven(int num)
{
    if(num%2 == 0)
    {
        printf("even");
    }
}

int main()
{
    int num;
    printf("Enter number :");
    scanf("%d",&num);

    isEven(num);

    return 0;
}