【发布时间】:2020-05-18 19:22:04
【问题描述】:
我正在制作一些将字符串作为函数参数的函数,但是
// This is working fine
char string[] = "Any string";
func(string);
//This is not working
func("Any string");
请告诉我区别
【问题讨论】:
-
如果
func尝试修改字符串,那么传递文字是未定义的行为。 -
是的函数修改字符串
-
请告诉我“传递文字是未定义的行为”是什么意思。
-
传递文字不是未定义的行为。但是如果函数试图改变字面量的值,那么改变它的尝试是未定义的,因此将字面量传递给函数将导致未定义的行为。