如果我没有用一个结束字符串或给它一个额外的元素以自动终止,为什么可以通过这个字符串循环直到NULL终止符?
char buf[5];
buf[0] = 'H';
buf[1] = 'e';
buf[2] = 'l';
buf[3] = 'l';
buf[4] = 'o';
char *p = buf;
for (p = buf; *p != ' '; p++)
ch_printf(ch, "%cn", *p);
我是一个C的新手,试图自学,所以请原谅我的愚蠢:)
谢谢你的帮助。
这是因为您试图访问未分配的内存,因此buf[5]的结果为null