c语言字符串函数参数 c 字符串 函数( 二 )


参考资料来源:百度百科-参数传递
参考资料来源:百度百科-字符串
c语言中双引号引起来的字符串可以作为函数参数吗可以c语言字符串函数参数的,就像以下代码:
void show(char *str)
{
printf("%s\n", str);
}
c语言字符串函数参数你在调用c语言字符串函数参数的时候,一般是传一个变量进去,同样也可以传一个字符串常量进去,
例如show("Hello World");
为什么可以呢c语言字符串函数参数?首先要想 , 什么是变量,变量代表着值不确定,是动态的 。
而当一个变量有值的时候 , 除非它发生改变 , 否则它就是"确定"的 。
既然一个不确定的东西能作为参数传递过去,那么一个确定的字符串有何理由不能传递呢c语言字符串函数参数?
c语言 怎么样才能将字符串作为函数参数?函数的原型、调用、首部行该怎么写?举个简单例子int myfuction (char *id){
printf("%s\n",id);
return strlen(id);
}
main(){
char id[80] = "abc";
printf("%d", myfuction(id));
}
c语言字符串指针作函数参数 。fun函数里面指针s=a传递的是函数地址,s在函数入口承接p指针值 , 之后接a , 不改变p指针地址下的值!
用C语言怎么写个 字符串插入函数程序的大体思路可以是这样:
str1是原字符串,str2是待插入的字符串 , position是待插入的位置,我们可以这样,用一个指针p_cur指向字符串1 str1中的待插入位置position,另一个指针p_end指向字符串1 str1的尾部 , 每次插入字符前,把str1中从当前位置开始一直到结束字符全部后移一个位置,空出当前位置,然后把要插入的字符放进这个位置,这样就完成了一个字符的插入,重复这个步骤,直到str2被完全插入 。
代码如下:
#include stdio.h
#include string.h
void insert_str(char str1[],char str2[],int position)
{
/*
insert_str()函数
功能:将字符串str2插入到str1的position位置处
参数:char str1,char str2 ,int position
返回值:无
*/
int i;
char *p_end,*p_cur,*p;/*p_end指向第一个字符串的尾部,p_cur指向被插入的位置*/
p_end=str1+strlen(str1)-1;
p_cur=str1+position-1;
for(i=0;str2[i]!='\0';i++)
{
for(p=p_end;p=p_cur;p--)
{
*(p+1)=*p;/*从p_cur到p_end的全部元素后移一个位置,此时p_cur指向的位置就空出来了*/
}
*p_cur=str2[i];/*把字符串2中的字符插入空出来的位置*/
p_cur++;/*p_cur下移一个位置*/
p_end++;/*多了一个字符,因此p_end也下移一个位置*/
}
}
void main()
{
char s1[100],s2[20];
int position;
printf("输入字符串1:\n");
gets(s1);
printf("输入插入位置:");
do
{
scanf("%d",position);
while(getchar()!='\n');/*这一句可以把输入position的时候输入的回车去掉*/
}while(position0||positionstrlen(s1));
printf("输入字符串2:\n");
gets(s2);
insert_str(s1,s2,position);
printf("字符串被插入后变成:\n");
puts(s1);
}
如何用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 字符串 函数】

推荐阅读