这里使用赋值运算符是一个代码的行为相同:如果条款因为它不使用等于操作员
#include <stdio.h>
#include <math.h>
void main()
{
double pi = 3.1415926535;
int a = 1;
int i;
for (i=0; i < 3; i++)
if (a = cos(pi * i/2))
printf("% d", 1);
else printf("%d", 0);
}
线if (a = cos(pi * i/2))
执行分配操作,然后检查的条件。所以在这种情况下,输出总是1,因为总是执行赋值操作。但是这里的输出来自10 1
。因此,我认为我错了。为什么输出是10 1
而不是111
?请帮忙。
我想知道的是为什么输出是'101'? – Midhun
现在你知道如何发现,你不觉得它更好吗? –