练习:数组个数随着元素个数的随机更改

问题:将数组A和和数组B中的内容进行交换。(数组一样大)

在这道题中我很容易的写出来代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int arr1[5] = { 1 , 2 , 3 , 4 , 5 };
	int arr2[5] = { 0 , 1 , 2 , 3 , 4 };
	int tmp[5];
	int i = 0;
	printf("arr1={");
	for (i = 0; i < 5; i++)
	{
		tmp[i] = arr1[i];
		arr1[i] = arr2[i];
		arr2[i] = tmp[i];
		printf("%d", arr1[i]);
		if (i<4)
		{
			printf(",");
		}
	}
	printf("}\narr2={");
	for (i = 0; i < 5; i++)
	{
		printf("%d", arr2[i]);
		if (i<4)
		{
			printf(",");
		}
	}
	printf("}\n");
	system("pause");
	return 0;
}

虽然比较容易的写出了这个程序,但是数组是自己随机写的一个五个元素的数组,如果两个其他元素个数的数组,这个程序就不能正确运行了.不可能每个不同的数组都改下for循环中的条件

最后,我想到了在最开始学习数int,short,char,float,double时所用的sizeof.这样算元素个数是就可以用整个数组的字节数除以每个数组中元素所占的字节数:sizeof (arr)/sizeof (arr[])

经过更改所得程序是这样:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值