[Ubuntu-zh] 一个关于C大概跟linux有关的问题……

胡小柯 hot123tea123在gmail.com
星期六 六月 23 01:57:21 UTC 2012


明显是把'0'和'\0'弄混了,他们不是一样的。


在 Sat, 23 Jun 2012 05:55:00 +0800,himemeizhi在gmail.com  
<himemeizhi在gmail.com> 写道:

> char buf[10];
> short i;
>
> for(i=0;i<5;++i)
>     buf[8-i]=buf[i];
> for(i=9;buf[i-1]=='0' && i>4;--i);
> buf[i]=0;
> puts(buf);
>
> 这样的话会输出一些乱七八糟的东西……
> 0是结尾,对伐
> 0=='\0',对伐
>
> buf[i+1]=0; 这样就完全没有问题……
> 但是需要在前面那个地方结束字符串啊啊啊啊阿……
>
> 最后折腾了一晚上,用别的方法拐着弯解决了,但是这个地方完全不能理解为什么……
>
> ubuntu 12.04
> g++ 4.6.3
>


-- 
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/


关于邮件列表 ubuntu-zh 的更多信息