1楼:匿名用户
char a="string";这是错的,a只是字符型变量,只能赋值为单个字符,不能赋值为字符串
char a="string"; 这样声明可以
2楼:匿名用户
不合理 这样声明a只是一个字符,不是字符串。*a="string",a="string"
3楼:草莓星球
不是的 该a[ ]="string" a为数组首地址
char a="string",这是合法的数组说明吗,为什么
4楼:匿名用户
这不是合法的数组说明,因为char a表示一个字符,如果要定义数组的合法说明,如下形内式都可容以:
char a="string";
char a[10] = "string";
其实就跟整数和整数数组的定义一样:
int n,narray[10];
n是整数,narray是数组:n=2是合法的,n=就是不合法的。
5楼:匿名用户
不是,定义数组时要有方括号,如下:
char a[6] = "sting"; //记得字符串结束符 "null"
6楼:匿名用户
char a="string";这是错的,a只是字符型变量,只能赋值为单个字符,不能赋值为字符串
char a="string"; 这样声明可以
7楼:匿名用户
char a="string";是合法的,这里a相当一个指针变量;
你的那个a只是一个字符变量,不能把字符串赋值给它
8楼:匿名用户
char a=‘s’;
char只能定义 字符 ‘ ’ , 不能定义 字符串 “ ”
9楼:晓风残月
char a="string".才是对的
这个数组为什么是不合法的?
10楼:匿名用户
这个是什么语言的?
在c语言中,数组的定义应该写为:char a[7] = "string";
直接书写char a则是指单个字符a,并非数组。
双引号引起来的字符串,也可以看做字符串常量,亦可以使用char * a接收其首地址,写作:
char * a = "string";
char*a="string";
chara[7]="string";
//以上两种写法都是正确的。
chara='s';
//这种写法只能存储单个字符。
11楼:匿名用户
你的数组定义呢?大小呢?
合法的数组定义是() a.int a[]={“string”};
12楼:匿名用户
d正确,
a,声明的是int类型的数组,
初始值却是字符串"string"肯定是错的b,声明的是长度为5的int数组,后面的初始值给的是6位,肯定是不对的啦
c,道理同a
d,char类型和int类型是能隐式转换的,0,1,2,3,4,5都分别对应一个char类型的符号,所以是正确的。
13楼:匿名用户
答案是d。
a:int型的数组,却赋给它字符串型,是不对的。
b:int型的数组,a[5]表示有5个数据,但是赋值的却有6个值,故错误,内存溢出。
c:char a表示字符型的变量,不是数组,而且赋给它字符串型的也不对。
d:a有6个值,0,1..也是字符。故正确。
14楼:匿名用户
a.int a=; int 不能为字符串b.int a[5]=; 下标溢出
c.char a=; char 不能为字符串 只以是字符d.char a= 也就只有这个对了!
15楼:匿名用户
a错误,数组内容为字符串而非字符
b错误,初始化数量超出预定义数量
c错误,语法错误
只有d了...,虽然d中初始化的不是字符,但是存在整数与字符的隐式转换!
1)合法的数组说明语句
16楼:匿名用户
1.d 每一个字符都有一个整形的ascii码,比如a的ascii码值为65,所以可以直接用对应的ascii码值代表对应的字符,详细内容可以参见ascii码表。
0~5的ascii对应表
bin dec hex 缩写/字符 解释
00000000 0 00 nul(null) 空字符
00000001 1 01 soh(start of headling) 标题开始
00000010 2 02 stx (start of text) 正文开始
00000011 3 03 etx (end of text) 正文结束
00000100 4 04 eot (end of tran**ission) 传输结束
00000101 5 05 enq (enquiry) 请求
也就是说 整形和char是可以互换的(当然要在对应的数值范围之内,如果ascii表没有对应的整形数就会报错)
17楼:
2)在c语言中,二位数组元素在内存中的存放顺序是------?
先行后列
c语言,为什么int a[]="string"可以是对的,而char a[]={0,1,2}却是错
18楼:匿名用户
int a="string"; 这个表达式不太可能编译通过;首先数组不能作为左值,其次数组a为int*而"string"为char*不通过强制转换无法复制。
char a=我觉得可以通过编译,但是会发生截断,取决于系统的大小段问题。
这个0,1,2本身就可以作为anscii码只是不可见罢了!
19楼:匿名用户
char定义的是字符型,而你的1,2,3都是整型的,不匹配啊。
你能理解成ascii码值所对应的字符,可是计算机不行,所以要加应引号。
char a=;
或者char a=;
若有说明char string[5];则string[0]="a";(或string="a")是
20楼:好id都遭注册了
兄弟,赋值不对,你要对string这个字符数组赋值的话应该这样写,string[0]='a'而不是string[0]="a",字符类型是用单引号的,双引号的是字符串格式了,再者,你的命名规范存在严重问题啊
21楼:匿名用户
string[0]是char型 "a"是char*型 不能等
c语言问题...下列合法的数组定义是哪个 其他的为什么不是
22楼:匿名用户
选da 类型不一致,int型数组不能用char赋值b 定义的数组能包含5个元素,可是后面初始化了6个,超出大小了c a是char型变量,只能包含一个字符,不能用字符串初始化d 实际上是给char数组用ascii赋的初值,0,1,2,3,4,5在a数组中的存储并不是数字0-5,而是ascii里的0-5,输出的结果用ascii码表看
23楼:
答案da 不能给int数组初始化一个串
b 初始化6个数据但数组只有5个元素
c 不能给a赋值字符串首地址,改成char *a="string";或char a="string";
合法的数组定义是 a.int a[ ]=”string”; d.char a[ ]={0,1,2,3,4,5};
24楼:匿名用户
两个都是错的,正确的是:int a = ; char a = "string"; a定义了一个整型数组,但赋的值是字符串,d定义了一个字符数组,但赋的值是整数。
迁祖坟时,挖出的棺材有青藤缠绕,这是为什么,这样吉利吗
1楼 匿名用户 迁祖坟时,挖出的棺材有青藤缠绕,这是因为坟墓有缝隙,有藤类植物进入到了坟墓里,这是很平常的自然现象,和吉利无关。别东想西想的了。 2楼 匿名用户 家里这几年一定很顺利吧?师傅说青藤缠绕很好。 我们家迁祖坟时发现坟里有1坛子金子和一些玉器需要上交国家吗?这个祖坟有300多年历史了。 3...
第一眼看上的永远都留不住吗,很多人说第一眼看我挺好看的 但是越看越丑 这是为什么啊
1楼 书小二的一天 并不是每一段初恋都能到永远。你几天不见他又想他,可能是你内心是真的爱着他,也可能是你们相处久了,他对你又很好,让你产生了一种依赖感。你习惯生活中有他的日子,这样一个人消失在你的生活中。 2楼 桃花潭水深呢 不一定 万一他也看上你了呢 男人看女人是不是第一眼没感觉就永远都不会有感觉...