最近在跟 C 语言基础课程的时候,老师提到了一个字符串的错误定义方法: char s[] = {'a', 'b', 'c'}; 这种方式由于不会自动在末尾补上终止符 \0,这会导致在输出的时候,程序因为不知道字符串什么时候结束,而继续输出变量原本内存空间后面东西。 但我在自己实验的时候,写下如下代码: #include int main() { c…
咱也不是主修 C/C++ 的,但最近看到一个题,代码如下: #include "stdio.h" #include "string.h" void fun(char *w, int n); int main() { char *s = "1234567"; fun(s, strlen(s)); puts(s); return 0; } void f…