1. 程式人生 > 其它 >c語言怎麼避免列印空資料?

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]);
		}

總結

  • 這就是最近遇到的問題,這個問題困擾了很久,相信許多的初學者也遇到了這樣的問題,但是,網上的描述根本不怎麼好用,所以,希望本博主遇到的這個問題能幫助到你,喜歡的話,請關注,點贊,收藏.
十年磨一劍,一劍破萬法