首页 > C语言 > C语言字符串

C语言字符串

 先看一段代码,看看程序运行后的输出结果是什么:

#include <stdio.h>
#include <string.h>
int main()
{
	char s1[] = "Hello";
	char s2[] = {'H', 'e', 'l', 'l', 'o', '\0'};
	char s3[] = {'H', 'e', 'l', 'l', 'o'};
	char s4[5] = "Hello";
	
	printf("%d\n", strlen(s1));
	printf("%d\n", strlen(s2));
	printf("%d\n", strlen(s3));
	printf("%d\n", strlen(s4));
	return 0;
}

 5 5 10 15

s1和s2的定义是等价的,对于字符串字面值,系统会自动在末尾加上结束符'\0',也就是C风格字符串,也称之为Null-terminated String。
s3末尾没有'\0'。
s4末尾本应该有一个'\0',却应为空间不够而添加失败。
而字符数组操作函数都是以'\0'来判断结束的,所以s1和s2的strlen是5,而s3和s4则不确定,将会根据系统当前内存而定,遇到'\0'才停止计算。


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> C语言字符串
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: C语言 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.