嵌入式C语言7 字符数组

字符数组知识点:

定义及初始化:

char str[15] = "Apple"  或者 { “Apple };    注意:字符串数组默认后面跟着一个'\0' 

char str[15] = {'A', 'p', 'p', 'l', 'e'} ;写成这样太麻烦。

对字符数组的获取与输出

#include <stdio.h>

int main()

{

    char str[15];

    scanf("%s", str);  //字符串只需要提供首元素地址即可

    printf("%s", str);

    return 0;

}

字符数组逆序问题:

题目要求

参考答案:

#include <stdio.h>

int main()

{

    char str[15];

    printf("请输入字符串:\n");

    scanf("%s", str);

    int i , j, length =0;

    for(i=0; str[i]!= '\0'; i++) //字符串长度 可直接用strlen()代替

    {

        length++;

    }

    for( i =0 ; i < length /2 ; i ++)

    {

        int t = str[i] ;

        str[i] = str[length -1 - i];

        str[length-1-i] = t;

    }

    printf("逆序后\n%s", str);

    return 0;

}


实现在一个字符串的指定位置插入一个字符:

#include <string.h>

int main()

{

    char str[15], ch;

    int insertn ;

    printf("请输入字符串:插入位置 插入元素\n");

    scanf("%s%d %c", str, &insertn ,&ch );

    int i, length = strlen(str);

    for(i= length; i > 0 ; i --)

    {

        str[i + 1] = str[i];

    }

    /*for(i= 0; i < length-insertn + 1 ; i ++)

    {

        str[length - i] = str[length - 1 -i];

    }

    */

    str[insertn-1] = ch;

    printf("%s", str);

    return 0;

}


strcpy(str +1  , ptr) 复制ptr到str+1地址后,包括'\0'

strncpy(str , ptr ,3) 复制ptr前三个字符到str中,str后面的不变

strcat(str, ptr) 链接ptr到str后面

strncat(str, ptr ,3) 链接ptr前三个字符到str后面

strcmp(str,ptr)比较两个字符串首元素的ASCII码值,并返回str - ptr的数值。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容