方法一:返回字符串常量 第一种方法是返回一个字符串常量。这种方法非常简单,只需要在函数中返回一个字符串常量即可。例如,下面是一个返回字符串常量的函数的例子: ``` const char* get_greeting() { return "Hello, world!"; } ``` 这个函数返回的是一个字符串常量,它的类型是const char*。我们可以使用这...
(1)返回指向字符串常量的指针 (2)不能返回以局部变量方式创建的字符串数组首地址 (3)在函数中,允许返回局部变量的值,不允许返回局部变量的地址 (4)在函数中,如果函数的返回值非要是一个局部变量的地址,那么该局部变量一定要申明为static类型。 (5)数组是不能作为函数的返回值 (6)返回指向堆内存的指针是可以...
所以returnStr函数退出时,该该字符串常量所在内存不会被回收,故能够通过指针顺利无误的访问。 但是,下面的就有问题: #include <stdio.h> char *returnStr() { char p[]="hello world!"; return p; } int main() { char *str=NULL;//一定要初始化,好习惯 str=returnStr(); printf("%s\n", str);...
2️⃣ 输出字符串函数:puts() 格式:puts(字符数组名) 功能:将字符数组中的字符串输出到屏幕。3️⃣ 字符串比较函数:strcmp() 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串的大小。 说明:如果字符串1等于字符串2,函数返回值等于0;如果字符串1小于字符串2,函数返回值是负整数;如果字符串1大于字...
在getString1函数中存储在局部变量区,而在getString2函数中存储在整个程序的常量区,所以在getString2函数中将该常量区的地址返回,在主程序可以通过该地址得到这个字符串的内容。 C语言完整的测试代码 针对上面的两种情况,完整的C语言测试代码如下: 其运行结果如下图所示: 可见,getString1函数输出的是乱码,而get...
也即,当你向strlen函数传递一个字符串名作为其参数时,strlen函数会返回字符串的长度。 需要注意的是: 1.使用strlen函数需要包含头文件<string.h> 2.使用strlen函数计算出的字符串长度是字符串开头字符到终止空字符(也即'\0')之间的字符数。而不是字符串的定义大小。
这2个函数分别返回了字符和整型两个单值类型。也可以是多值型数据,比如结构体。一个结构体内部可以包含多个成员变量。比如://返回多个值 typedef struct { int x;int y;char c;}MANY;MANY multiple_value() { MANY many = { 2,3,'a' };return many;} 注意,字符串不是值类型,而是下面要介绍的“...
C语言,字符串常量”\t\”name\\address\n”的长度为15。strlen(hello word):字符串为“hello word”这种字符串常量,系统会在其后自动补上'\0';但是求字符串长度的函数strlen()只要遇见'\0',就会返回函数值,'\0'不算在其中。所以返回值为10(空格也算一个字符)。strlen(hello\0world):...
常量字符串中或者 字符数组 中。 字符串常量 适用于那些对它不做修改的字符串函数. 2.函数的介绍 2.1strlen size_t strlen ( const char * str ) 字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。