C 知识点(3)

来源:互联网 发布:cad软件手机版 编辑:程序博客网 时间:2024/05/29 19:11

记录了字符数组和字符串的几个易错知识点

字符数组和字符串

字符串中值无法改变

#include <stdio.h>int main(){    char *p = "abcdef";    p[0] = 'm';    return 0;}

以上代码会报错,无法直接修改字符串的值。


求长度、拷贝功能实现

#include <stdio.h>//字符串求长度int myStrlen(const char *src){    int len = 0;    while (*src != '\0') {        len++;        src++;    }    return len;}//字符串拷贝char * myStrcpy(char *dest,char *src){    char *retDest = dest;    while ((*dest = *src)!='\0') {        dest++;        src++;    }    return retDest;}int main(void){    char str[] = "Test test";    int len = myStrlen(str);    printf("len of str  =  %d\n",len);    char dest[100];    char src[100]="Test StringCpy";    char anotherDest[100];//    myStrcpy(dest, src);    myStrcpy(anotherDest,myStrcpy(dest, src));    printf("dest = %s\n",dest);    printf("anotherDest = %s\n",anotherDest);    return 0;}

运行结果

len of str  =  9dest = Test StringCpyanotherDest = Test StringCpy
原创粉丝点击