用指针和数组实现字符串复制
2017-05-19 20:26
190 查看
/****************
用指针和数组实现字符串复制
****************/
#include<stdio.h>
#define N 80
void MyStrcpy(char dstStr[],char srcStr[]) //使用字符串数组作为函数参数复制字符串
{
int i = 0;
while(srcStr[i]!= '\0')
{
dstStr[i] = srcStr[i]; //复制下标
i++; //右移下标
}
dstStr[i] = '\0'; //尾部加字符串结束标志
}
/*
void MyStrcpy(char *dstStr,char *srcStr) //用字符指针作为函数参数,实现字符串复制
{
while(*srcStr != '\0') //若当前srcStr所指字符不是字符串结束标志,'\0' 是字符串的结束符,任何字符串之后都会自动加上'\0'。
{
*dstStr = *srcStr; //复制字符串
srcStr++; //使srcStr指向下一个字符
dstStr++; //使dstStr指向下一个储存单元
}
*dstStr = '\0'; //在字符串dstStr尾部添加字符串结束标志
}
*/
int main()
{
char a
,b
;
printf("输入字符串:");
gets(a);
MyStrcpy(b,a);
printf("复制后:");
puts(b);
return 0;
}
/********************
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们可以把它看着一个字符去处理。而“\0 ” 则是这个字符串的结束标识符,也占有一个字节的空间,表示字符串结束!
char a[]={'a','b','c','d', ,'c','d','e','f','g','\0'}
'a''b' 'c''d'' ''c''d'f''g''\0'
附:如果用scanf来接收字符串的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是hello world 那么实际上scanf只能获取hello 这个单词。
所以要接收空格的话可以用gets()这个函数。gets(str)是读入一串以回车结束的字符,顺序存入到以str为首地址的内存单元中,最后写入字符串结束标志 “\0 “,
同样在输出字符串时要用puts(),输出时直到遇到 \0 为止,最后输出一个换行符。
*************************/
用指针和数组实现字符串复制
****************/
#include<stdio.h>
#define N 80
void MyStrcpy(char dstStr[],char srcStr[]) //使用字符串数组作为函数参数复制字符串
{
int i = 0;
while(srcStr[i]!= '\0')
{
dstStr[i] = srcStr[i]; //复制下标
i++; //右移下标
}
dstStr[i] = '\0'; //尾部加字符串结束标志
}
/*
void MyStrcpy(char *dstStr,char *srcStr) //用字符指针作为函数参数,实现字符串复制
{
while(*srcStr != '\0') //若当前srcStr所指字符不是字符串结束标志,'\0' 是字符串的结束符,任何字符串之后都会自动加上'\0'。
{
*dstStr = *srcStr; //复制字符串
srcStr++; //使srcStr指向下一个字符
dstStr++; //使dstStr指向下一个储存单元
}
*dstStr = '\0'; //在字符串dstStr尾部添加字符串结束标志
}
*/
int main()
{
char a
,b
;
printf("输入字符串:");
gets(a);
MyStrcpy(b,a);
printf("复制后:");
puts(b);
return 0;
}
/********************
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们可以把它看着一个字符去处理。而“\0 ” 则是这个字符串的结束标识符,也占有一个字节的空间,表示字符串结束!
char a[]={'a','b','c','d', ,'c','d','e','f','g','\0'}
'a''b' 'c''d'' ''c''d'f''g''\0'
附:如果用scanf来接收字符串的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是hello world 那么实际上scanf只能获取hello 这个单词。
所以要接收空格的话可以用gets()这个函数。gets(str)是读入一串以回车结束的字符,顺序存入到以str为首地址的内存单元中,最后写入字符串结束标志 “\0 “,
同样在输出字符串时要用puts(),输出时直到遇到 \0 为止,最后输出一个换行符。
*************************/
相关文章推荐
- 练习 5-3 用指针实现函数strcat(s,t)将t指向的字符串复制到s指向的字符串的尾部。
- 17周项目二 指针玩字符串1-1 数组做形参实现连接
- C指针复制字符串从一个数组到另一个数组
- 指针实现简单的字符串复制
- 指针实现字符串复制
- Linux_C练习:利用指针数组实现字符串的排序。(从键盘获取五个字符串)
- 实现字符串循环右移n 位与左移n位(不建立数组,直接用指针)
- 编程题:指针数组实现,将多个字符串按字母顺序输出。
- 字符指针指向的字符串复制到字符数组里
- 字符串的复制数组与指针法
- C++实现用指针复制字符串
- 编程题:字符串的指针引用。用指针法实现。功能:将字符串str2复制连接到str1
- 实现字符串循环右移n 位与左移n位(不建立数组,直接用指针)
- 修改字符串字面量&用数组/指针实现的字符串。
- 10.6 分别用字符数组和字符指针作函数参数两种方法编程实现在字符串每个字符间插入一个空格的功能
- C语言通过指针和数组实现字符串倒序
- 用字符数组实现字符串的复制
- 用字符指针作函数参数来实现字符串的复制
- 字符串基本处理操作:数组和指针实现 —— 不调用string函数库
- 实验10指针2(1)输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。