C语言字符数组里,如何区分0和'\0'呢

C语言字符数组里,怎么区分0和'\0'呢?
C语言字符数组里,怎么区分0和'\0'呢?
#include<stdio.h>
#include<string.h>
int main(){
char a[5]={1,2,0,3,5}; //这里面是整型数
int i=0;
while(a[i]!='\0')
{
              printf("%c\n",a[i]); 
      i++;
}
        return 0;
}
这样的话遇到数字0就结束了,怎样才能打印所有的字符呢?
另外,字符数组里如果有0、'0'和'\0',该如何区分三者呢?
求高手指点~
C 数组

------解决方案--------------------
引用:

for(int i=0;i<5;++i)
    printf("%c\n",a[i]); 

?


for(int i=0;i<5;++i)
    printf("%c",a[i]);
printf("\n");

 
------解决方案--------------------
C语言字符数组里,0和'\0'是一样的,因为他们的ACSII码都是 0.
当你打印的时候看你以什么形式去打印,如果是 %d,那会打印出0   如果是%c打印出 ‘\0’,本质上其实是一样的,一个是assic  一个是该assic码对应的字符
------解决方案--------------------
你确定是 30??? 不是 48或 0x30
引用:
对应的ACSII不同的! 

'\0' = 0 //ASCII
'0' = 30 //ASCII