c语言中printf打印一个没有\0结束符的字符串有问题吗,,,,,,,,,,
That's a good question, maybe 3 results:
1. The program runs not bad(looks good);
2. SIGABRT;
3. SIGSEGV;
它会一直读直到遇到 \0
一般情况 你没写也会自动加
内存就炸了,编译没有错,但是运行不了
一般的话系统默认的会在字符串的后面加结束符,但是如果强制的或者认为的造成没有结束符,他会一直顺着内存地址往下读,知道遇到\0
如果用char *s="abcde";这样的,会自动加\0的,但是如果用数组,你的字符串后面必须留一位放\0的
系统自动给你加上有些网上测评也会自动加上
如果是数组形式的字符串,若没有'/0'会出错。若是指针形式的字符串,会自动读取到'/0'结束