有两个数组,a,b,则以下正确的输入语句
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 02:31:52
答案是D.A项,由于a[5]已经超出数组外了,所以*&a[5]不是数组元素.B项,a+2是a[2]的地址,不是数组元素.C项,*(p+5)相当于a[5],已经超出数组范围,不是数组元素.D项,正确,*
只有D一个对的AC超出数组范围B是地址
CA,gets后面只能跟1个变量B,scanf输入字符串时字符串名就是地址,不用再寻址D,把引号去掉就对了
刚为你完成的.希望采纳.#includeintmain(){inta[10],n;printf("输入a[10]数据:\n");for(inti=0;i10)printf("B不是A得子集\n");e
C语言中:%s格式控制串表示输入字符(String),在C语言中字符串是按一个个字符分别存放到数组的每个元素当中.-A选项错误的原因是出现两个%s字符串输入.B是正确的,gets()函数是string
显然是c嘛!再问:要的是解释过程,吼吼再答:题目中定义的是整型的二维数组,和一维数组是一样的约束,如intX[2],该数组有两个元素:X[0]和X[1],而没有X[2]。所以第二个中括弧中的数字大于等
这里所说的不能加减是指这样:a=p+2;这种形式的,而不是图上那种.举个简单的例子:constinta=2;a是一个常量,你不能改变其值.但是intb=a+2是正确的.指针同样理解.再问:你的意思是不
因为D的表达本身就是错误滴哈.没这种表示方法呢.特别是在有关二维数组指针时一定要多注意定义滴是行指针还是列指针哟.而你这个题目滴定义是定义为*p是行指针,因此在用行指针表示二维数组元素时的形式有:p[
你可以把二维数组想象成一个矩阵,所以上面的这个数组的意思就是:定义了一个五行四列的矩阵,又下标是从0开始计算的.所以最大的下标元素只能到[4][3]
其实是D以上说法都不对因为b没有结束符\0因此xyz后面的是未知随机的而b的长度是从xyz一直到\0位置如果xyz后面正好是\0那么a和b一样长如果不是\0那么b比a长自然b更不可能比a短再问:您好,
选BAp本身就是数组c的首地址了,再对它取地址没有语法错误,但是也没有实际意义Bp+3是c[3]的地址,*(p+3)就是c[3]Cc[5]数组下标越界Dc也是数组c的首地址,同A
数组a和b的长度不同再问:我知道长度不同。但是选项没有输全。9.已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是A)数组a和b的长度相同B)a数组长度小于
答案:c注释:1.intx[m][n],其中的m,n表示的是二维数组的长度;2.C语言的访问顺序是从0开始的,因此最大访问支持x[m-1][n-1]
C是对的A的那个4已经超出范围了B,没有这种写法D不能用圆括号,只能用方括号
选C.p的类型是int(*)[3],是指针的指针.C选项相当于p[1][1].B选项错,它相当于p[2][1],数组的第一个坐标越界了.
答案是对的.再问:c选项为什么是错的?再答:因为超出范围了最多*(pt+9)如图:看看你*(pt+10)结果是多少?
前面b=a不是指针指向a,数组和指针是有区别的,数组是栈,是不能直接用=来拷贝的,即使a和b都是指针,也不能这样直接等过去,因为那样就会像你所说的那样,两者同时指到同一个位置,不是真正拷贝过去如果是结
人家要插入排序,你用冒泡排序,真晕阿再问:应该怎么编呀?万分感谢。。。再答:你都没说清楚,a里面的元素有多少个?如果多余出的元素怎么处理?不要了么?或者如果a里面的元素没有填满,后面的元素是用什么数值
[1]是b[1][0]的地址,不是元素b[0][3],3超过界限2b[2][2]第一个2超界限b[1][1]正确b【2】【3】,元素范围b[0][0]-b[1][2]