c语言怎么避免打印空数据?

前景提要

  • 使用c语言的数组打印数据的时候,总是会打印出,如下形式的无效数据,虽然不影响结果,但是,感觉这不整洁.

解决方案

  • 减少循环的次数,使得被循环的数据的空数据,正好空数据不被输出
  • 限制数据类型空的不输出

实战演练

1.数组搭建


int main()
{
	char arrayChar[20];


	for (int i = 0; i < 6; i++)
	{
		arrayChar[i] = 'a' + i;
	}

	for (int i = 0; i < 20; i++)
	{
		printf("arrayChar[%d]=%c\n",i,arrayChar[i]);
	}
}


  • 显示结果

2.在循环处,处理这个问题


int main()
{
	char arrayChar[20];


	for (int i = 0; i < 6; i++)
	{
		arrayChar[i] = 'a' + i;
	}

	// 循环处控制,控制输出的次数
	for (int i = 0; i < 6; i++)
	{
		printf("arrayChar[%d]=%c\n",i,arrayChar[i]);
	}
}

  • 存在问题,将循环写死了,如果是动态的按照数组大小循环的情况,就还会存在,产生空值的问题.,就像如下操作一样.

   // 动态循环次数
	for (int i = 0; i < sizeof(arrayChar)/sizeof(arrayChar[0]); i++)
	{
		printf("arrayChar[%d]=%c\n",i,arrayChar[i]);
	}


3.在循环中,添加过滤条件.


int main()
{
	char arrayChar[20];


	for (int i = 0; i < 6; i++)
	{
		arrayChar[i] = 'a' + i;
	}

	// 循环处控制,控制输出的次数
	for (int i = 0; i < sizeof(arrayChar)/sizeof(arrayChar[0]); i++)
	{
		if (arrayChar[i]>0)
		{
			printf("arrayChar[%d]=%c\n", i, arrayChar[i]);
		}

	}
}

4.扩展了其他类型的数组,都是可以通过这种方式进行过滤,最后,得到打印的时候,没有空值.


                if (arrayChar[i]>0)
		{
			printf("arrayChar[%d]=%c\n", i, arrayChar[i]);
		}

总结

  • 这就是最近遇到的问题,这个问题困扰了很久,相信许多的初学者也遇到了这样的问题,但是,网上的描述根本不怎么好用,所以,希望本博主遇到的这个问题能帮助到你,喜欢的话,请关注,点赞,收藏.
posted @ 2022-03-04 18:50  北极的大企鹅  阅读(414)  评论(0编辑  收藏  举报
阅读 - 79万