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?

阅读 2.3k
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的区别。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进