C语言初阶3扩展:字符串

本文详细介绍了C语言中的字符串操作,包括遍历、赋值、输入输出,以及字符串与函数的交互。文章强调了字符串指针的使用,如sizeof()与strlen()的区别,以及如何替换字符。此外,还探讨了const在字符串中的应用,以及常用的字符串函数,如字符串长度、比较、拷贝、连接等。最后,文章提供了多个实践案例,帮助读者巩固字符串操作的知识。
摘要由CSDN通过智能技术生成

1. 字符串操作

1.1 字符串遍历

可以通过数组方式遍历字符串

   #include <stdio.h>
void main(){
   
    char str[]="Hello World";
    for(int i=0;'\0'!=str[i];i++){
   
        printf("%c\n",str[i]);
    }
}

也可以使用指针方式

#include <stdio.h>
void main(){
    
    char str[]="Hello World";
    for(int i=0;'\0'!=*(str+i);++i){
   
        printf("%c\n",*(str+i));
    }
}

指针方式也可以简化为以下的方式

#include <stdio.h>
void main(){
   
    char str[]="Hello World";
    char *t=str;
    while('\0'!=*t){
   
        printf("%c\n",*t++);
    }   
}

还有

while('\0' != *str){
   
    printf("%c\n",*str++);
}

while(*str){
   
    printf("%c\n",*str++);
}

1.2 字符串赋值

#include <stdio.h>
void main(){
   
    char str[]="Hello World";
    char *t;
    t=str;
    printf("%s\n",t);
}

没有产生新的字符串,只是t和str指向相同的字符串。查看以下两个字符串的地址。

#include <stdio.h>
void main(){
   
    char str[]="Hello World";
    char *t;
    t=str;
    printf("%s\n",t);
    printf("%p\n",str);
    printf("%p\n",t);
}

结果是:

0x7ffdfed7ee5c
0x7ffdfed7ee5c

练习:
字符串的修改:

#include <stdio.h>
void main(){
   
    char s[]="Hello World";
    char *t;
    t=s;
    printf("%s\n",t);
    t[1]='o';
    printf("%s\n",s);
    printf("%s\n",t);
    s[4]='e';
    printf("%s\n",s);
    printf("%s\n",t);

}

输出的结果是:

Hello World
Hollo World
Hollo World
Holle World
Holle World

指针是不能反向赋值给字符串的

1.3 字符串输入输出

char str[8];
scanf("%s",str);
printf("%s\n",str);

scanf()读入一个单词直到空白符(空格、回车、Tab)
scanf()不安全,因为不知道要读入的内容长度,容易溢出。
例如:输入123456789
解决方式:指定读取的长度。

char str[8];
scanf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值