问题:要检查输入数字是否为偶数?
#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;
}
此代码显示每个输入数字为偶数。我做错了。
答案 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;
}