C语言定义语句正确与否的判断
2个回答
展开全部
答案是D
A,C不对,因为s是指向了内存的指针,而且指定了大小,数组初始化楼主应该了解吧,肯定不是这样。
B不对是因为C语言没有这样初始化数组的(这就是语法),而且貌似还少些了一个引号
D是C语言允许的,实际操作是将这个字符数组(串)的首地址复制给s,s是一个指针,指向了这个字符串,访问时按地址访问下去,直到遇到'\0'作为结束,内存未知容易出现问题
char
s[]="BOOK!";
char
s[]={'B','O','O','K','!'}
char
s[10];strcpy(s,"BOOK!");
char
*s="BOOK!"
或char
*s;s="BOOK!";
//这条看似无理,但是是C语言支持的,而且使用广泛
都是正确的
如果是我使用的话会是:
char
s[10+1];
memset(s,0,sizeof(s));
strcpy(s,"BOOK!");
没别的,安全
A,C不对,因为s是指向了内存的指针,而且指定了大小,数组初始化楼主应该了解吧,肯定不是这样。
B不对是因为C语言没有这样初始化数组的(这就是语法),而且貌似还少些了一个引号
D是C语言允许的,实际操作是将这个字符数组(串)的首地址复制给s,s是一个指针,指向了这个字符串,访问时按地址访问下去,直到遇到'\0'作为结束,内存未知容易出现问题
char
s[]="BOOK!";
char
s[]={'B','O','O','K','!'}
char
s[10];strcpy(s,"BOOK!");
char
*s="BOOK!"
或char
*s;s="BOOK!";
//这条看似无理,但是是C语言支持的,而且使用广泛
都是正确的
如果是我使用的话会是:
char
s[10+1];
memset(s,0,sizeof(s));
strcpy(s,"BOOK!");
没别的,安全
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询