计算字符串中字符个数时出了点错误,不理解,求解释
#define uchar unsigned charuchar init_weishu="1000";
uchar i=0;
while(init_weishu != '\0')
i++;
为什么while循环后IAR里面出现的i的最终结果是5呢?我怎么都觉得应该是4啊 回复【楼主位】tengguodong
-----------------------------------------------------------------------
补充:如果改成init_weishu[]="1000";
即去掉[]内的4,i最终显示出来的结果就是4了,
为什么呢 init_weishu="1000";
应该定义成init_weishu
基础没打好 init_weishu[]="1000";
你这样是定义成字符串了,相应的会在字符串后面自动加上'\0'
而init_weishu="1000";,不包含'\0',所以有时候始终找不到'\0',5还是随机的呢 不解释。自己看书。 回复【3楼】0712 一笑狙
-----------------------------------------------------------------------
./emotion/em014.gif./emotion/em020.gif懂了懂了,基础果然没打好,这里果然人才济济啊!QQQ
页:
[1]