01/10/2018, 15:38

'b = ++a + a++ + a++' ra bao nhiêu?

#include <stdio.h>
#include <conio.h>


int main()
{
	int a = 5, b;
	b = ++a + a++ + a++;
	printf(" %d 
%d", a, b);
	_getch();
	return 0;
}

Mình tính tay code đó b = 19, a = 8
Chạy trên máy thì b = 18, a = 8
Chạy trên máy đứa bạn thì b = 20, a =8

Mn giải thích hộ mình với ạ

HK boy viết 17:53 ngày 01/10/2018

b = ++a + a++ + a++ bị undefined behavior, nên tránh xa những đoạn code kiểu này (gán 1 biến 2 lần trong 1 phép tính)

rogp10 viết 17:48 ngày 01/10/2018

Dòng đó là thuộc dạng không thể nghĩ bàn rồi

*grab popcorn* viết 17:49 ngày 01/10/2018

Cái này search Google là ra đầy nhóc rồi.
Thậm chí câu hỏi này trong diễn đàn cũng nhắc đi nhắc lại không dưới 10 lần.

Chốt, close.

Bài liên quan
0