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

c
video

(Lê Trần Đạt) #1
#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


Có thể bạn chưa biết ! Phép gán bằng và toán tử ++
Tổng hợp các video hướng dẫn lập trình C của Lê Trần Đạt
Lỗi logic ở dòng if else không biết cách sửa
thuật toán chia để trị
Cùng đặt vấn đề nào (Bản số 7)
Tính số hạng thứ n của dãy Fibonacci bằng phương pháp đệ quy
(Dao Trong Bach) #2

Đ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?


(Lê Trần Đạt) #3

đâ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


(Dao Trong Bach) #4

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


(Lê Trần Đạt) #5

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


#6

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;

(vũ xuân quân) #7

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


#8

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


(duong) #9

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);


(Bảo Ngọc) #10

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.


(Huy Huy) #11
    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?