C语言数组题(3)
下面能正确进行字符串赋值操作的语句是( ) A.char s[5]={"ABCDE"}; b.char s[5]={'A','B','C','D','E'}; c.char *s="ABCDEF"; d.char *s;scanf("%s",s); C是对的, 但是B为什么不对?不解
这么说吧!这道题问得不是很明确 如果按照我的理解 下列字符串赋值语句正确的是:() 如果题目是这个意思,确实是C正确,因为B进行的并不是字符串赋值,而是字符数组,这样赋值出来的字符数组不能当字符串使用,因为没有字符串的结束符'\0',如果作为字符串使用,会造成程序输出异常甚至异常中止。这样的变量只能是字符数组。 而C赋值出来的指针是不能改变其值的(除非为改变其指向的地址),因为它所获得的地址是字符串常量的地址,地址内的值是常量不能改变。
数组初始化跟赋直是不同的,C答案也不能算完全正确,C是把地址赋直
对就是对,不对就不对了
B是字符数组!
回为B项不是字符串,而是字符数组。对于字符串,其末尾一定有/0
答: 指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程...详情>>
答:详情>>
答:三级网络技术考试大纲 三级网络新大纲 基本要求 1. 具有计算机系统及应用的基础知识。 2. 掌握计算机局域网的基本概念和工作原理。 3. 了解网络操作系统的基...详情>>