标签: c
这样做是不明确的行为?
char *a = "hello"; char b[] = "abcd"; a = b;
我的编译器不会发出警告,并发出最大警告级别。
答案 0 :(得分:10)
这里没有UB。您只是重新指定一个指针指向数组起始地址。
请注意,您实际上并未修改a指向的值,仅a本身,a是正常的char *。
a
char *