knrt.net
当前位置:首页 >> 以下不能正确进行字符串赋初值的语句 >>

以下不能正确进行字符串赋初值的语句

1 A.char str[5]={"good!"};//这个不符合C语言的语法规定,字符串初始化是这样写的: char str[6]="good!"; //因最后还有一个结束符,因此数组元素应该是6个。 2 题目表述有些不准确,A,B,D叫初始化,C叫赋值。 3 题目中的单双引号全部是中文的...

"good!" 这个字符串含有6个字符, 'g','o','o','d','!','\0'(这个默认的串尾符别忘了) 所以用 str[5]来存储就越界了 这么改: char str[6]="good!";

B正确 A char[5]={'a' 'e' 'i' 'o' 'u'}; 没有终结符,不算字符串 B char *s;s="good!"; //定义一个字符指针,然后让这个指针指向常量字符串"good!",正确 C char s[5]="good!"; //"good!"有6个字符,s空间不够,会越界 D char s[5];s=“good"; //...

在C语言中str[5];表示为str分配5个内存单元,其中就包括了字符串结束标志'\0',也就是说str[5]最多接受4个字符. A当然就错了,这是系统规定的,没办法.

基础:C语言的字符串以'\0'结束,这个楼主应该明白吧。 A选项 没有结束符'\0',并不是完整的字符串,错误 B选项 “good!”是一个字符串常量(同整型常量一个概念),s指向它的地址,正确 C选项 “good!”占用6个字节,字符5个字节,还有一个字节是结...

选D A错,A是对字符数组赋值,不是字符串赋值,因为没有字符串终结符'\0' B错,s只是一个指向字符串常量的指针 C错,位数不够,没有字符串终结符'\0'

选C 声明变量必须加变量类型,所以D是错的,没加类型 A,错在没有给x,y,z赋初值 B,错在只给z赋了初值,x,y示赋初值, 所以只能选C

B A. int a,b; a=10; b=a;

选C 赋值的时候只能给变量赋值, 比如num1、num2、t1都是“单个变量”,可以直接用=赋值 但是C选项里的mark是一个数组头,实际上是一个指针 那么这个操作实际上是 数组头指针A = 指针B 这样的操作是不被支持的

都不能 要达到题目中说的效果 需要 int a=5,b=5,c=5; 这里最接近的就是B了。

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com