c语言 定义char

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:32:11
这有个程序,大伙帮忙看下
有几个是对的,并给解释下
(i) char string1 = "Hello";

(ii) char string2[] = "Hello";

(iii) char string3[5] = "Hello";

(iv) char string4[6] = {'H','e','l','l','o','\0'};

2和4是对的;
1.因为char只是一个字符,不是字符串,比如'a','b','e'是字符,“Hello”是字符串,所以错;
3.char string3[5]表示数组有五个元素,但是"Hello"有六个元素,最后一个为'\0';

(ii),(iv)是对的
(i)和(iii)是错的
(i)char string1只能保存单个字符,不能保存这个"Hello"的首地址
(iii)字符串定义的大小少了一个,这个字符串末尾的'\0'没有地方存放,没有显示的字符串结束标志,运行的时候会出现问题

第一个是错的,单个字符变量不能储存字符串,必须使用字符数组。
第二个是对的。没有指定数组大小,系统自动分配。
第三个是错的。。它的数组位数不够,不能储存最后系统附加的'\0'。
第四个也是对的,手动输入了‘\0’ 系统不再自动加。