字符串
由双引号引起来的一串字符称为字符串,例如“abcdef”,字符串的结束标志是\0,在计算字符串长度时\0是结束标志,不算做字符串内容。
字符与字符串的程序监控
int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f'};
return 0;
}
之后按f10,开始调试程序,调试位置如图一。
调试后对程序就行监控,首先点击菜单栏调试按键——窗口——监视(任选一个),之后添加所要监控的字符串
可以看到字符串后面有一个\0,这个是结束符号;而单个字符就没有。之后对字符串和字符分入两个组合之后对两个组合进行打印
程序如下
#include<stdio.h>
int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f'};
printf(“%d\n”,arr1);
printf("%d\n",arr2);
return 0;
}
对字符串打印时是正常现象,对单个字符打印时出现错误,主要是单个字符没有结束符,所以只有在遇到计算后面的其他\0,才可以结束打印。
若将单个字符加上结束符号,程序如下
#include<stdio.h>
int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f','\0'};
printf(“%d\n”,arr1);
printf("%d\n",arr2);
return 0;
}
可以看出打印正确
之后对字符串的长度和单个字符长度进行计算
#include<string.h>
#include<stdio.h>
int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f'};
int len1=strlen("arr1");
int len2=strlen("arr2");
printf(“%d\n”,len1);
printf("%d\n",len2);
return 0;
}
可以看出对有结束符的字符串只有6,而没有结束符的字符有22;之后加上结束符计算长度。
#include<string.h>
#include<stdio.h>
int main()
{
char arr1[]="abcdef";
char arr2[]={'a','b','c','d','e','f','\0'};
int len1=strlen("arr1");
int len2=strlen("arr2");
printf(“%d\n”,len1);
printf("%d\n",len2);
return 0;
}
标签:int,C语言,char,arr2,arr1,printf,字符串 From: https://blog.csdn.net/2301_80442229/article/details/136901788