若有C语言语句“char r1[]="abcd",r2[]={'a','b','c','d'}”,则下列说法正确的是______。A.数组r1和数组r2存放相同的字符串B.数组r1和数组r2的长度相同C.数组r1的长度小于数组r2的长度D.数组r1的长度大于数组r2的长度

题目

若有C语言语句“char r1[]="abcd",r2[]={'a','b','c','d'}”,则下列说法正确的是______。

A.数组r1和数组r2存放相同的字符串

B.数组r1和数组r2的长度相同

C.数组r1的长度小于数组r2的长度

D.数组r1的长度大于数组r2的长度


相似考题
参考答案和解析
正确答案:D
解析:其实这道题所考查的知识点是大多数人在编写程序时常犯的一个错误。很多人觉得r1和r2只是赋值形式不同,其结果一致。这种想法是错误的,r1的初值是一个字符串,所以系统会自动为其加上一个字符串结束符'\0',因此r1的长度为5,而r2的长度为4。注意,这里比较的是数组r1和r2的大小(长度),而不是存储在其中的字符串的有效长度。由于r2没有结束字符'\0',因此strlen(r2)输出不定,不是预期的4,一般输出的是8,依具体机器而定。利用sizeof运算符可以计算出r1、r2的长度,sizeof(r1)输出的是5,sizeof(r2)则输出4,表示r1、r2分别占5、4个字节的内存空间。
更多“若有C语言语句“char r1[]="abcd",r2[]={'a','b','c','d'}”,则下列说法正确的是______。A.数组r1和 ”相关问题
  • 第1题:

    下列有可能实现类似C语言中“switch”结构的“散转”功能的语句是()。

    A.BL SUB

    B.LDR PC,[R1,R2,LSL#2]

    C.LDR PC,LR

    D.LDMFD SP!,{R1~R7,PC}


    LDR PC,[R1,R2,LSL#2]

  • 第2题:

    两电阻R1和R2并联后接在电路中,R1∶R2=1∶3,若R1中电流为0.6A,则R2中电流为    A


    R=R1R2/(R1+R2)=(20×30)/(20+30)=12(Ω) 总电流I=U/R=110/12=9.16(A) R1支路电流 I1=U/R1=110/20=5.5(A) R2支路电流 I2=U/R2=110/30=3.66(A) R1的发热功率 P1=I21R1=5.52×20=605(W) R2的发热功率  P2=I22R2=3.662×30=401.87(W) 电路总电阻为12Ω,R1支路电流和发热功率分别为5.5A和605W,R2支路电流和发热功率分别为3.66A401.87W。

  • 第3题:

    9、电阻R1和R2并联接在电路中,已知R1:R2=1:3,若R1中电流为0.6A,则R2中电流为 A。


    3:2

  • 第4题:

    电阻R1和R2并联接在电路中,已知R1:R2=1:3,若R1中电流为0.6A,则R2中电流为 A。


    A

  • 第5题:

    1、设R1和R2均为集合X上的等价关系,则R1= R2,当且仅当 X/R1 = X/R2。


    正确