前景提要
- 使用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]);
}
总结
- 这就是最近遇到的问题,这个问题困扰了很久,相信许多的初学者也遇到了这样的问题,但是,网上的描述根本不怎么好用,所以,希望本博主遇到的这个问题能帮助到你,喜欢的话,请关注,点赞,收藏.