1. 程式人生 > 其它 >if語句中 == 與 = 號的區別

if語句中 == 與 = 號的區別

技術標籤:c語言

C語言學習筆記

#include<stdio.h>
int  main()
{    
    int x=3,y=0,z=1;
    printf("x=y+z//輸出:");
	if(x=y+z) 
	{
		printf("****\n");
		printf("此時x=%d",x);		
	}
	else 
	{
		printf("####\n"); 
		printf("此時x=%d",x);
	}
}

輸出的結果:
在這裡插入圖片描述

解釋: if(=) 時,右邊賦值給左邊,就是把y+z的值1賦給了x,所以此時x的值不為0(當然也不等於3而是1),所以 if(1) ,則邏輯為真,因此函式打印出 **** .

#include<stdio.h>
int  main()
{    
    int x=3,y=0,z=1;
    printf("x==y+z//輸出:");
	if(x==y+z) 
	{
		printf("****\n");
		printf("此時x=%d",x);	
	}
	else 
	{
		printf("####\n"); 
		printf("此時x=%d",x);
	}
}

輸出的結果:
在這裡插入圖片描述
解釋: if(==)時 ,x的值為3,y+z的值為1,因此左右並不相等,所以邏輯為假,就是 if(0) ,則列印 #### .

總結:
“=” 是賦值號,把右邊的值賦給左邊,如果此時左邊不等於0,則邏輯為真.
“==” 是判斷的,如果左邊等於右邊,則條件為真,非零;反之,則為0.