c語言怎麼避免列印空資料?
阿新 • • 發佈:2022-03-04
目錄
前景提要
- 使用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]);
}
總結
- 這就是最近遇到的問題,這個問題困擾了很久,相信許多的初學者也遇到了這樣的問題,但是,網上的描述根本不怎麼好用,所以,希望本博主遇到的這個問題能幫助到你,喜歡的話,請關注,點贊,收藏.