字符串

今天再学习了一下字符串,整理下贴出来。

1.字符串常量是双引号括起来的字符序列。

2.一个字符串常量占据的内存字节数是字符串中字符数加1.多出来的那个字符位于字符串的尾部,存放的是字符'\0'。

3.如果字符串常量中包括双引号,则双引号应写为"\"",而"\"字符在字符串中出现时需连写两次,变成"\\"。如:

printf("He said:\"I am a stu\\dent.\"");
该语句输出结果为:
He said:"I am a stu\dent"

4.字符串数组的形式和整型数组类似。如:

char szString[10];

5.用scanf输入字符串时用“%s”,但注意,输入字符串中不能有空格,否则被读入的就是空格前面的那部分。如:

char szPrisonName[100];
scanf(
"%s",szPrisonName);
如果输入:Fox River
那么szPoisonName中将会存入Fox而不是Fox River。

如果要将用户输入的包含一个甚至多个空格的一整行都当做一个字符串输入到szPoisonName中,那么上述语句应改为:

gets(szPoinsonName);

6.如下语句调用string.h中声明的字符串比较库函数strcmp和标准答案进行比较,如果该函书返回值为0,则说明比较结果一致:

if(strcmp(szPoisinName,"Fox-River")==0)

7.char s="Poison break";

   s[0]='t';

   s[3]=0;

   printf(s);

执行完上述语句后s的内存图为:P o i \0 o n   b r e a k \0

语句printf在对字符串进行处理时碰到'\0'就认为字符串结束了,因此输出为:Poi

8.上述说了一维字符数组用来存放字符串。实际上,二维字符串也可以用来存放字符串。如:char szFriends[6][30]={"Joey","Phonebe","Monica","Chandler","Ross","Rache"};

则 printf(szFriends[0]);

会输出:Joey

posted @   喝姜水涂风油精  阅读(288)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示