【无标题】

【无标题】,第1张

【无标题】 sizeof与strlen的区别,演示多个字符从两端移动,向中间汇聚。
//w######################!
//we####################!!
//wel##################!!!
//welc################!!!!
//welco##############!!!!!
//welcom############!!!!!!
//welcom ##########!!!!!!!
//welcom t########e!!!!!!!
//welcom to######me!!!!!!!
//welcom to ####ome!!!!!!!
//welcom to m##home!!!!!!!
//welcom to my home!!!!!!!

#include 
#include 
#include 
int main(void) {
	
	char arr1[] = "welcom to my home!!!!!!!";
	char arr2[] = "########################";		
	int left = 0;
		
	//int right = strlen(arr1)-1; 
	//strlen 是一个库函数,计算传进来的字符串的长度,以 ‘’结尾。	
	int right = (sizeof(arr1)/sizeof(arr1[0]))-2;
	//sizeof 是一个运算符,它计算的是传进来的指针在内存中所占空间大小,在编译时就已经获得了结果
	//一般而言后者的长度会比前者多1。
	//所以用sizeof 运算是要多减一。
	//如果理解不过来为什么right = 23,但实际字符数组arr1中有24个元素?
	//因为数组第一个元素是从0开始的。
	while ( left <= right) {
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%sn",arr2);		
		left ++;
		right --;
	}		
	system("pause");
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5635244.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存