首页 > 解决方案 > if else 条件如何工作?

问题描述

我正在处理一些必须调试和修复错误的代码。我正在演示的示例只是一个示例,因此我了解这里出了什么问题。据我了解,当我检查 if(check(input_num)) 的值时,它应该在偶数时打印 0,在奇数时打印 1。但是,当输入为偶数时返回 1,当输入为奇数时返回 0

#include <stdio.h>
int check(int num){
if (num%2 == 0){
    return 0;
}else{
    return 1;}
}

int main(){
int a;
cin>>a;
if(check(a)){
    return 0;
}else{
    return 1;}
return 0;}

标签: cif-statementdebugging

解决方案


您的函数 int check(int num)返回正确的值,但是main()由于您再次使用它,if(check(a)它将函数的输出int check(int num)作为输入 10作为输入。return 0return 1

应该是这样的——

#include <iostream>
#include <stdio.h>

int check(int num) {
    if (num%2 == 0){
        return 0; } 
 else{
    return 1;}
    }

int main() { 
  int a; 
  cin>>a; 
  cout<<check(a); }

推荐阅读