c语言 - 字符串总结
发布日期:2021-05-04 14:57:09 浏览次数:16 分类:原创文章

本文共 1224 字,大约阅读时间需要 4 分钟。

(1) 字符串变量名就是首地址。
字符串在输入的时候不需要加上“&”符号,字符串本质就是地址。
注意:打印的时候,倘若是一个*p指向的字符串,打印不需要加解引用p,直接p就可以了。

#include <stdio.h>int main(){   	void *p;	char a[99]="字符串";	p=a;//由于a变量名就是这个字符串的地址,所以不需要加上”&“	printf("%s",p);//这里打印的时候p代表a的地址,*p代表a地址里面的东西,但是字符串实质上就是一个地址,*p是没有意义的,所以直接p来进行打印字符串}

*(2) 字符串的一些特点。
在对字符串赋值时可以

#include <stdio.h>int main(){   	char a[128]="chen"; 	char c[128]={   "chen"};}

(3)在字符串的末尾都有一个默认的’\0‘,可以用这个来统计字符串的元素个数。
但是也可以自己用<string,h>里面的strlen函数,x=strlen(a)。

#include <stdio.h>int main(){   	char a[128]="chen"; 	int count=0;	for(int i=0;a[i]!='\0';i++){   		count++;	}	printf("%d",count);//这里打印出来的是4.}

在字符串连接的时候一定要记住末尾的’\0‘要加上,不然pta过不去。

char *str_cat(char *s,char *t){   	int x=strlen(s),y=strlen(t);	for(int i=0;i<=y;i++){   //这里写了等于y,因为t的最后一个就是'\0'也给了s。		s[x+i]=t[i];	}	return s;}

(4)字符串的特殊打印

#include <stdio.h>int main(){   	char a[128]="chen"; 	printf("%s",&a[1]);//这里%s用的是a[1]的地址,然后打印的是hen。}
#include <stdio.h>int main(){   	char a[128]="chen"; 	printf("%s",a[1]);//这样的话啥子也打印不出来,因为a[1]只是一个字符,应该用%c打印。}

(5)字符串初始化问题

#include <stdio.h>int main(){   	char c[999]="12345";	c[0]='\0';//这里仅仅是把第一个变成了\0,后面的还是不变,	printf("%s\n",c);//这里就打印空白	c[0]='1';//这里本来的/0变成了1,那么后面的就可以打印出来了	printf("%s\n",c);}

所以注意以后再使用同一个字符串作为中间变量时,要记得全部初始化。
在这里插入图片描述

上一篇:c语言 - 二进制BCD解密
下一篇:c语言 - 一些常见的错误

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月13日 04时35分31秒