全新cls:C语言问题

来源:百度文库 编辑:高校问答 时间:2024/05/03 08:07:30
char strl[10] = '',str2[] = {"China"};
strcpy(str1,str2);
上面中,请问下,为char strl[10] = ''后面的''是什么意思?
再请问下str2[] = {"China"};中china的外面为什么要用大括号,而不用普通的圆括号?

没有实践就没有发言权,我已经运行过了:有几个错误
第一:char strl[10]中str后面是字母l,而strcpy(str1,str2);中的str后面的是数字1,不是一个变量。
第二:字符数组初始化时不能赋单个字符(单引号表示的是单个字符,双引号表示的是字符串),除非有{}括起来,系统会认为赋的是字符串,要初始化为空的话,可以str1[10] = {''}或str1[10] = ""或str1[10] = {'\0'};另外str2[] = {"China"};的{}可以去掉,但是绝对不能用圆括号,圆括号只是用来改变表达式的结合顺序和函数中用的,其他环境下不用。

char strl[10] = '',这里好像是两个单引号,如果是的话,那就是初始化,使得strl[10]里都是空,,与下面几楼说的一样,这样也是不对的,还要用{}括起来,就像这样:char strl[10] = {''}就可以,不然也是错误的.如果是双引号那就语法错误,还少了一边的双引号.这样肯定是不对的

str2[] = {"China"};还是初始化,str2[]这是一个数组,初始化可以{"China"}这样,也可以去掉{},就用双引号就可以.
一般数组初始化都要用{}括起来的.

单引号都系错既,数组不可以这样赋值,并且str1并未定义,他定义的是strl,也太不小心了.其它觉得janrn - 见习魔法师 二级 3说得很好.