呵呵,
第一个可能跟编译器有关,这个问题倒是在论坛上讨论过。
至于第二个有什么不对吗?
第一个可能跟编译器有关,这个问题倒是在论坛上讨论过。
至于第二个有什么不对吗?
对不礼貌的女生收钱......
针对您的想法,
让我们做个简单的程序测试:
main()
{
char str[3]="abc";
printf("%s",str);
}
如果您运行这个程序得到的结果是abc的话,那您就是对的,
如果不是,那论坛的资料就是对的,
结果如何,您自己运行下便知.
main()
{
char str[3]="abc";
str[3]=0;
printf("%s",str);
}
DEV-CPP和GCC没用过,用上面的试试,结果会不会一样
哎,那倒是.上面那个是我随便写的,论坛上没有。
现在的编译器容错能力太强,
我的理解是,那个是错的!打印的时候应该是乱码.
系统并没有分配一个'\0'给它,但是在打印的时候却连相邻的内存单元也打出来了。所以是乱码