未定义行为
c吧
全部回复
仅看楼主
吧务
level 10
BestAns 楼主
在C语言中,有很多操作会导致未定义行为,比如数组越界、解引用空指针等。程序员们经常拿这个开玩笑,比如:“我写了一个C程序,它有时能运行,有时不能,这就是它的特性——未定义行为。”
2024年12月12日 05点12分 1
吧务
level 10
BestAns 楼主
int arr[5];
int x = arr[10]; // 未定义行为
2024年12月12日 05点12分 2
这种直接报错了吧
2024年12月13日 03点12分
不一定报错。你可以试试。
2024年12月13日 07点12分
吧务
level 10
BestAns 楼主
int *p = NULL;
*p = 10; // 未定义行为
2024年12月12日 05点12分 3
这种还能赋值?
2024年12月13日 03点12分
吧务
level 10
BestAns 楼主
int *p = (int *)0x1;
char c = *(char *)p; // 未定义行为
2024年12月12日 05点12分 4
1