好疑惑。。为什么A不可以呢(泪目
以及关于B选项,书上说这种方式是合法的,于是我编写了一个简单的代码如下:
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char str[5]={'L','u','c','k','y'};
puts(str);
return 0;
}
然后输出了“Lucky",毫无错误嘛
而且我又特地把str[5]里面的‘5’给删了来实验A选项,输出真的是一毛一样呜呜呜
小白真诚求各位大佬解答!!!(在线哭泣
应该是C,首先A中字符数组没有‘\0’,B同理,D中str【5】只能放下5个字符,结束符‘\0’放不下,所以错
‘\0’是最后一个不可见字符,char[6]={'L','u','c','k','y'}才是正确的定义
char str[] = {'L','u','c','k','y','\0'}; //如果A选项是这样就没错,这题主要考查‘\0’