c语言函数传字符串参数 c++字符串作为参数传递
用c语言编写:编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数
#include stdio.h
创新互联是一家专注于做网站、网站建设与策划设计,望奎网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:望奎等地区。望奎做网站价格咨询:18980820575
#include string.h
int letter,number,blank,other;
void count(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
{
if((str[i]='a'str[i]='z')||(str[i]='A'str[i]='Z'))
letter++;
else if(str[i]='0'str[i]='9')
number++;
else if(str[i]==' ')
blank++;
else
other++;
}
}
int main()
{
char a[80];
gets(a);
puts(a);
strcat(a,"\0");
letter=0;
number=0;
blank=0;
other=0;
count(a);
printf("\n%5d,%5d,%5d,%5d\n",letter,number,blank,other);
return 0;
}
扩展资料:
C语言需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-c语言
c语言如何传递字符串?
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;
}
c语言字符串在函数间传递
#includestdio.h#includestring.hchar *start(char *wz);int main(){ char *sys = NULL; char xz,wz[99]="www"; scanf("%s",xz); if (xz=='1') sys=start(wz);/*将wz值传入start*/ printf("%s",sys);
if (sys != NULL) // 注意:分配内存以后一定要释放
free(sys); return 0;}char *start(char *wz){
char* str = (char*)malloc(99); // 堆中分配内存
strcpy(str, "am start -a android.intent.action.VIEW -d http://"); strcat(str,wz); return str; }
其实不建议以这种方式来写,start函数可以写成2元函数,一个函数传入参数,一个函数传出结果。
void start(char* pOut, char* pIn)
{
strcpy(pOut, "am start -a android.intent.action.VIEW -d http://");strcat(pOut, pIn);
}
C语言如何在两个函数之间传送字符串
用指针,例如:
#include stdio.h
#include stdlib.h
#include string.h
void abc(char *str){
strcpy(str,"string from abc\0");
};
void def(char *str){
printf("print in def: %s\n",str);
};
main()
{
char str[30];
abc(str[0]);
def(str[0]);
exit(0);
}
// abc()中给值,def()印出。
如何用c语言编一个函数 实现字符串作参数传递,给个编译过的程序
st 传入子程序, st2 从子程序送回.
---------------------------
#include stdio.h
void show_st( char *st, char *st2){
printf("%s\n", st);
strcpy(st2,"new string !!");
}
void main()
{
char st[32]="This is string !";
char new_st[32];
show_st( st[0], new_st[0]);
printf("new string is: %s\n", new_st);
exit(0);
}
C语言调用函数时,参数传的是字符串,并没有传字符串指针,为什么主函数中的值还是会变化?
在c语言中,字符串是以字符数组的方式存储的,而数组的本质就是指针;
因此,传进去一个字符串,就是把它的地址传去了。
文章名称:c语言函数传字符串参数 c++字符串作为参数传递
文章链接:http://pwwzsj.com/article/heppee.html