在C语言中,当一个字符指针作为函数参数传递时,它会被解释为一个指向字符数组的指针,而不是一个字符串本身。因此,对于指针参数char *str_1
,sizeof(str_1)
的结果实际上是指针的大小,而不是字符串的长度。
在大多数平台上,指针的大小是8个字节(64位系统上),因此sizeof(str_1)
的结果是8。
要获取字符串的长度,可以使用strlen()
函数。所以在你的代码中,你应该使用strlen(str_1)
来获取str_1
的长度,而不是sizeof(str_1)
。同样地,你也需要修改其他地方使用sizeof(str_1)
的地方,改为使用strlen(str_1)
,以确保获得准确的字符串长度。