小蚂蚁学习C语言(34)——C语言字符串演示

    动手用代码在巩固一下字符串内容。
数组

# include <stdio.h>
# include <string.h>

int main(void)
{

	char str[5]={'a','b','c','d','a'};
	printf("%s\n",str);

	char str1[5]={'a','b','c','d','\0'};
	printf("%s\n",str1);

	char str2[5]={'a','b','c','d'};
	printf("%s\n",str2);

	//char str3[5]="abcde";
	//printf("%s\n",str3);
	/*
		error C2117: 'abcde' : array bounds overflow
		说明数组溢出了,由于在最后系统还要添加一个“\0”
	*/
	
	char str3[5]="abcd";
	printf("%s\n",str3);

	char str4[]="abcd";
	printf("%s\n",str4);

	char * str5="abcde";
	

	return 0;
}
/*
	VC++6.0中输出的结果:
	=====================
	abcda烫虉.
	abcd
	abcd
	abcd
	abcd
    =====================
	结论:
		第一种写法是错误的
			str是一个数组,而不是一个字符串
			字符串的最后必须是“\0”结尾
		第二种由于最后一个“\0”,因此它是一个字符串
		第三种,若是赋值的初值不足,系统会自动在后面加“\0”
		第四种,赋初值的时候正好少了一个元素,系统加上“\0”
		第五种,系统会自动计算字符的个数,来肯定数组的长度。
*/


学PHP的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blogspa

相关文章
相关标签/搜索