01/10/2018, 15:50

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

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

Undefined Behavior chăng?

rogp10 viết 18:03 ngày 01/10/2018

Không thể nghĩ bàn

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.

Bài liên quan
0