#include string.h
十年的永兴网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整永兴建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“永兴网站设计”,“永兴网站推广”以来,每个客户项目都认真落实执行。
#include stdio.h
main()
{char a[100];
gets(a);
printf("%s\n",a);
}
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为: gets(s); 其中s为字符串变量(字符串数组名或字符串指针)。 gets(s)函数与scanf("%s:",s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
要函数就这样:
#include string.h
#include stdio.h
void sr(char *a)
{ gets(a);
}
main()
{char a[100];
sr(a);
printf("%s\n",a);
}
哦哦O(∩_∩)O^_^
gfedcba
f是一个交换函数
p=str+strlen(str)/2+1;
p就指向了 str+4 就是 e
p-2 指向 c
f的效果就是
从e开始直到g
和前面的c到a互换
函数里面定义的变量只能在这个函数内部使用……因此main函数定义的 l 和s不能在count里面用……
你这样做是调用函数了,虽然用的是memcpy函数,但也是函数。
不调用函数的做法,是使用循环,逐字符复制,直到字符串结束符'\0'。
void nofunc(char *src, char *dest)
{
int i;
for (i=0; src[i] != '\0'; i++)
dest[i] = src[i];
dest[i] = '\0';
}
调用函数的做法,是使用strcpy()函数,而不是使用memcpy。
strcpy(dest, src);
这俩的区别在于,strcpy会把字符串结束符'\0'复制过来,而memcpy则不会判断是否结束,而是按指定的长度来复制。如果使用memcpy,你复制的长度必须是strlen+1才行。你这个程序,如果目的字符串不是刚刚好与源字符串长度相等的话,就能看出有错误。
char *src = "abc";
char dest[100];
strcpy(dest, "123"); /* 目的字符串刚好也是3个字符 */
memcpy(dest, src, strlen(src));
printf("[%s]\n", dest); /* 如果这样调用,结果是正常的,刚好是abc */
strcpy(dest, "12345");
memcpy(dest, src, strlen(src));
printf("[%s]\n", dest); /* 如果这样调用,结果是错误的,应该是abc45 */
/* 而使用strcpy就不会有问题 */
strcpy(dest, "12345");
strcpy(dest, src);
printf("[%s]\n", dest); /* 这样调用结果就是正确的abc */
#includestdio.h
char *custom_cpy(char *to,char *from);
int main(int argc,char *argv[]){
char *from = "i like c langanger";
char to[30];
char *ptr = custom_cpy(to,from);
printf("%s,%s\n",ptr,to);
return 0;
}
char *custom_cpy(char *to,char *from){
if(to == NULL || from == NULL){
return NULL;
}
char *p = to;
for(;*from!='\0';from++,to++){
*to = *from;
}
*to = '\0';//拷贝完毕之后一定要加一个结束符号
return p;
}
扩展资料:
字符串相关函数应用:
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’;
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’;
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’;
5. 求字符串长度 length(s) 例:length(‘12abc’)=5;
参考资料:
百度百科-字符串