這裏使用賦值運算符是一個代碼的行爲相同:如果條款因爲它不使用等於操作員
#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
現在你知道如何發現,你不覺得它更好嗎? –