c语言if 语句的问题?

#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
    int a=1;
    if (a=0){
        printf("%d",0);
    }
    if (a!=0){
        printf("%d",1);
    }else{
        printf("%d",2);
    }
    return 0;
}

为什么不打印1?

#include <stdio.h>
int main(void){

int a=1;
if (a==0){  //<-----问题出在这行
    printf("%d",0);
}
if (a!=0){
    printf("%d",1);
}else{
    printf("%d",2);
}
return 0;
}

答案是你在第一个判断里时是赋值了1给a,而不是判断a是否等于1。注意a == 1a = 1的区别。

  • Asp.net mvc – VS生成项目,出现 error MSB4019
  • 我是一个编程新手,自己编写了一个C语言程序,但是带入数字进行运算时发现结果是错误的,求解答?
  • 一般的C++编译器,内联函数的实现是否能写在其他源文件中
  • 请问有什么工具可以方便的解析和修改html源码?
  • c++请问book *p=new master[2]; 和book *p[2]={&m1,&m2};的区别?
  • 双层循环嵌套可以在内层对外层进行continue吗
  • QT怎么那么麻烦呢?
  • ACM小程序问题
  • c++默认参数顺序的问题
  • 用当前dll封装另一个dll时,有什么方法可以将另一个dll中的某个类整个dllexport吗?
  • C++ 模板类的运算符重载