十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
c语言函数中传递字符串,可以分为两种情况,一种是将字符串作为参数,一种是将字符串作为返回值
沁源网站建设公司创新互联公司,沁源网站设计制作,有大型网站制作公司丰富经验。已为沁源成百上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的沁源做网站的公司定做!
,当使用字符串作为返回值时,切记不要传递局部字符数组。下面是一个示例代码:
#include
#include
#include
void f(char *str) { //字符串作参数
printf(str);
}
char * r() { //字符串作返回值
//使用动态分配内存,不要使用局部变量比如
//char buf[80]; 因为局部变量在函数结束时,栈区变量已被回收
char *str = (char *)malloc(256 * sizeof(char));
if (str==0) { printf("can't alloc mem\n"); return 0;}
else memset(str, 0x00 ,sizeof(char) * 256);
return str; //
}
int main()
{
char *pstr = r();
if (pstr!=0) strcpy(pstr, "hello world\n");
f(pstr);
free(pstr);
return 0;
}
代码如下:
int main()
{
float r,h,s;
scanf("%f",r);
scanf("%f",h);
s=2*3.1415926*r*r+2*3.1415926*r*h
printf("表面积是%f\n",s);
return 0;
}
扩展资料
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
注意,输出字符串时只需要给出名字,不能带后边的[ ]。
在C语言中,输入输出字符串有以下两种方式:
1 用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也
其支持范围内。
格式化字符为%s。
定义
char str[100];
输入
scanf("%s",str);
输出
printf("%s",str);
2 C语言还支持专门的字符串输入输出函数:gets/puts。
gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。
puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。
定义
char str[100];
输入
gets(str);
输出
puts(str);
扩展资料:
起初,C语言没有官方标准。1978年由美国电话电报公司(ATT)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。
这本书被 C语言开发者们称为KR,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为KR C。
KR C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,KR C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行KR C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。
因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7] ,有些人简称为C95标准。
参考资料:百度百科-c语言