看下面的代码:
#include<stdio.h>
int main(void)
{
char name[7]={'E','R','I','C'};
printf("%s",name);
}
它输出整个name
ERIC。为什么会这样?只有当我们如下%s
初始化字符数组时才应该起作用:name
char name[7]={'E','R','I','C','\0'}; //With NULL terminator
我没有考虑以下内容,因为这显然假设了一个以空字符结尾的字符数组:
char name[7]="ERIC"