Thắc mắc về hàm printf

Hi mọi người, mình đọc được câu hỏi này trên mạng mà không biết giải thích như thế nào. Nhờ mọi người giúp đỡ.

#include <stdio.h>
int main()
{
int a=10;
printf("%d %d %d %d %d ",++a,a++,a,--a,a--);
}

Output: 10 8 10 10 10

Undefined Behavior chăng?

1 Like

Không thể nghĩ bàn :slight_smile:

Tức là ntn: Vừa truy cập một biến (nói chung là ô nhớ) hai lần trở lên, và vừa thay đổi biến đó giữa hai sequence point là undefined behavior.

Nghĩa là i +++ i là sai.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?