c - 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;}
解决方案
您的函数 int check(int num)
返回正确的值,但是main()
由于您再次使用它,if(check(a)
它将函数的输出int check(int num)
作为输入 1和0作为输入。return 0
return 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); }
推荐阅读
- c# - MVC 中的异常处理
- macos - Docker 无法从 docker hub 拉取镜像
- javascript - 将 n 级数组展平为二维数组的最佳方法
- python - SQLAlchemy 嵌套 JSONIFY
- matlab - 旋转 3D 子矩阵 Matlab
- storage - 将大文件解压缩到 colab 存储中
- c# - 如果 Interop.Word 在 IIS 下运行,则自定义字体在保存后不会嵌入结果 DOCX 文件中
- sql - 如何将此 SQL 查询转换为 Typeorm
- swift - 这些共享课程的方式有什么区别?
- python - 如何在熊猫中不使用 .apply 时将列的值相乘?