【发布时间】:2020-03-19 00:35:01
【问题描述】:
有人能解释一下这段代码的原因是什么,为什么会打印出来
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
n = 0;
if (n = 0)
printf("a \n");
else
printf("b \n");
return 0;
}
【问题讨论】:
-
if (n = 0)将0赋给变量n并返回0,所以条件为假 -
改用
if (n == 0)。 -
这是一个有趣的故事,讲述了有人试图使用它在 Linux 内核中插入后门:freedom-to-tinker.com/2013/10/09/…
标签: c if-statement variable-assignment