Video Ngôn Ngữ C - 28 - Điều thú vị về phép gán bằng

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
 
      int x = 0;
        if (x = 1)
            printf("x = %d\n", x);
        else (x = 1)
            printf(" x = %d\n", x);
 
 
/*        else{
            printf("kem\n");
 
}*/
 
}

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.

#Đăng ký khóa học C++ cơ bản 2016 tại đây :
#http://bit.ly/dangkymuakhoahoccpp

2 Likes

Đoạn source code ở trên bị lỗi rồi. Sau chữ else ko cần ghi (x = 1) nữa chứ nhỉ.

Theo em hiểu thì ghi if (x = 1) nghĩa là mình vừa gán x = 1, vừa kiểm tra xem x có đúng bằng 1 không. Do đúng nên sẽ in ra kết quả là x = 1. Đúng ko anh?

đây là cách code không nên sử dụng, anh chỉ ra điểm sai khi vô tình viết thành như vậy. Cách viết này cần tránh nhé @Dao_Trong_Bach

Em hiểu rồi. Trong if thì phải ghi là x == 1
Đúng ko a?

1 Like

Đúng rồi đấy @Dao_Trong_Bach :+1:

các anh ơi cho em hỏi tại sao em viết như thế này mà Dev-C cứ bắt phải thêm “;” ở chỗ lệnh Else vậy ạ?

int x = 1;
if(x==0)
	{
		printf("x = %d\n", x);
	}
else(x==1)
	;{
		printf("x = %d\n", x);
	}
return 0;

làm gì có câu lệnh này.
em nên coi lại cú pháp của if… else…else if đi

1 Like

à đúng rồi. :smiley: em biết sai rồi ạ.

1 Like

anh @ltd ơi có phải if (x = 1) printf(“x = %d\n”, x); tức là gán 1 cho x sao đó kiểm tra x !=0 thì printf(“x = %d\n”, x);

theo mình nghĩa là:kiểm tra nếu x=1 thì thực hiện printf(“x = %d\n”, x); nếu không thì là else và thực hiện câu lệnh ở else.

    if (x == 1)
        printf("%d\n", x = 1);
    else
        printf("%d\n", x = 0);
    return 0; ````
khi e viết x == 1 thì nó cho ra x = 0 nhưng e viết x = 1 thì nó cho x = 1 ạ. Hai cái này khác nhau gì a :D
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?