一个关于'\0'的有关问题,高手来看看

一个关于'\0'的问题,高手来看看
我编一个程序想用这么一句

  while(a[i])
{

    }
就是说字符串不到 '\0 '的时候一直执行
我又想万一字符串里出现0怎么办?它还执行吗?
于是我编了一下试了一试

#include <stdio.h>
main()


{
char   a= '\0 ';
char   s[]={ "i   am007   boy "};
if   (s[5]== '0 ')printf( "a[5]==0\n ");
else   printf( "a[5]!=0\n ");
if   (s[5]== '\0 ')printf( "a[5]==\\0\n ");
else   printf( "a[5]!=\\0\n ");
printf( "a   de   ascII   ma   shi   %d\n ",a);

}

结果是
a[5]==0
a[5]!=\0
a   de   ascII   ma   shi   0

我的问题是
1.既然   0和 '\0 '的ASCII   码都是0   为什么不相等?
2.假如我用
while(a[i])
{

    }
假如字符串中a[i]是个0   会不会跳出循环?
我是初学者,如果是很低级的问题希望大家不要笑话

------解决方案--------------------
0和 '\0 '是一样,但是你是 '0 ',是字符0,不是数字0
------解决方案--------------------
0和 '\0 ' 完全不一样
0是整数 
'\0 '是字符
当然 
如果你把数字0转换成字符就是 '\0 '了
但是 2者并不相同

水 可以变成 冰
冰 也可以变成 水
但是 
水和冰 不一样
------解决方案--------------------


0和 '\0 ' 完全不一样
0是整数 
'\0 '是字符
当然 
如果你把数字0转换成字符就是 '\0 '了
但是 2者并不相同

水 可以变成 冰
冰 也可以变成 水
但是 
水和冰 不一样
---------------
wrong
------解决方案--------------------
'\0 ' 的 ASCII 码值就是 0
------解决方案--------------------
当使用 while(a[i]) 这样的判断语句的时候,
实际上就是在 判断 a[i] 的ASCII 码值。
------解决方案--------------------
我倒,编程这么多年了都没有发现这个问题
lz你好牛啊
------解决方案--------------------
0的ASCII码值 是48
'\0 'ASCII码是0

如何一样?
------解决方案--------------------
字符 '0 '的asscii值是0x31,而 '\0 '的值是0。二者肯定不一样的了。

这个东西理解了,你的第二个问题就解决了。
------解决方案--------------------
'0 '的asscii值是0x31,而 '\0 '的值是0.

while(a[i])比较的是字符 '0 '的assII,不是跟0在比较。
而如果a数组是int数组的话,就不一样了...
------解决方案--------------------
字符 '0 '的asscii值是0x31
=========================

是0x30吧
------解决方案--------------------
.......我又想万一字符串里出现0怎么办?它还执行吗?.....
字符串里的0是字符 '0 '啊,我的楼主嘞。不要把生活中的0和字符里的弄混了

一句话,楼主把字符’0‘和数字0和’\0‘的概念混淆了。
第一个问题:实际上比较的是 '0 '和 '\0 ';答案明显不等了。
第二个问题:遇见字符 '0 '不会跳出。但是遇见 '\0 '就跳出来了。

------解决方案--------------------
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!
我现在终于明白为什么非常经典的C语言书都附带ASCII表了,因为很多人都是瞎子!