#include<stdio.h>
void main( )
{
int a = 5, b = 2, c = 0;
if (a = b + c)
{
printf("* * *\n");
}
else
{
printf("$ $ $\n");
}
}
为什么输出是 * * * 而不是$ $ $
#include<stdio.h>
void main( )
{
int a = 5, b = 2, c = 0;
if (a = b + c)
{
printf("* * *\n");
}
else
{
printf("$ $ $\n");
}
}
为什么输出是 * * * 而不是$ $ $
if里改成==
因为一个=是赋值运算 即a=b+c,a的值为2。任何非0的值都为true。所以执行了if里的语句而不是else的语句